首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
华为云
V2EX  ›  Python

Python 爬虫被屏蔽有好的办法吗?

  •  
  •   lixuda · 124 天前 · 3494 次点击
    这是一个创建于 124 天前的主题,其中的信息可能已经有所发展或是发生改变。

    除了用 selenium 模拟外,其他还有好的办法吗?

    第 1 条附言  ·  123 天前
    补充:requests get 几次就返回不到正确 html,随机 user-agent,要么填验证码,要么提示我是爬虫。用浏览器访问,一直都可以。没有封 ip。selenium 也要加载久一点。
    34 回复  |  直到 2018-04-23 14:52:46 +08:00
        1
    sunwei0325   124 天前
    selenium 一般用来爬一些 js 搞上去的内容, 而不是解决爬虫被屏蔽的, 解决被屏蔽的方法一般是代理 ip 池, cookie 池, 随机 user-agent 等
        2
    lixuda   124 天前
    @sunwei0325 ip 没有封,user-agent 随机无效,只能打开浏览器访问就可以。
        3
    leir   124 天前 via iPhone
    什么网站?
        4
    lixuda   124 天前
        5
    est   124 天前
    技术不过关啊。。。。
        6
    lixuda   124 天前
    @est 是的
        7
    huweic   123 天前 via Android
    该有的 Header 都加上
        8
    kimchan   123 天前
    mark, 之前也是遇过一个网站, 用爬虫各种伪装了都不行, 用浏览器访问却可以. 最后也是只能用 selenium😂😂. 看看大神们有什么更好的方法
        9
    lixuda   123 天前
    @huweic 应该不是,selenium 我也要加载很久才可以获得。提早获得也是提升爬虫页面。
        10
    magicO   123 天前 via Android
    抓包看看浏览器访问时的包
        11
    alen   123 天前
    限速控制并发
        12
    takato   123 天前
    把并发间隔整形成高斯分布试试。
        13
    wqzjk393   123 天前 via iPhone
    顺便问一下,像斗鱼这种第一次爬就直接屏蔽掉,返回 404 的,该怎么处理?
        14
    lixuda   123 天前
    @alen 没有并发,就访问了 2-3 次就这样。并且间隔很久
        15
    em70   123 天前
    说明伪装得不像,一般防盗链就 user-agent 和 referer 两个参数来判断,这两个都不填,傻子都知道你是机器人
        16
    lixuda   123 天前
    @em70 我都说了,无用。selenium 我也要加载很久才可以获得真实页面
        17
    wplct   123 天前
    并不是学艺不精,看来一下这个网址的反爬确实很严格
        18
    wplct   123 天前
    各种加载 js 运行,懒得搞的话还是调用浏览器吧
        19
    wplct   123 天前
    如果是要请求较多的数据的话,记得保存 cookies 会比较好一些
        20
    vtwoextb   123 天前
    重启路由器 更换家里的动态 ip https://github.com/hizdm/dynamic_ip
        21
    JackYao   123 天前
    估计 js 检测吧, 能执行才是浏览器。
        22
    summerwar   123 天前
    贴地址 不然靠猜吗
        23
    craftx   123 天前
    请先说明是哪种方式的屏蔽
        24
    jamesfuxk   123 天前
    用抓包软件,设置好 header 啊。可以减少被封的概率的
        25
    cuberlzy   123 天前   ♥ 2
    Chrome F12 找到接口 右键复制到 curl

    然后贴到这里 https://curl.trillworks.com/ 把生成的代码运行一遍

    看看行不行先~我猜多半是 Cookie 的问题
        26
    cuberlzy   123 天前
    浏览器也想被提示爬虫可以试试把 Cookie 清掉 这样多半就会提示你输验证码啦
        27
    Telegram   123 天前 via iPhone
    @kimchan #8 这个只能对症下药。
        28
    Leigg   123 天前
    UA 是比较基本的反爬,最好清除浏览器 cookie,打开 F12-network,再打开网站,这个时候分析一下请求的 method、header 一般就能找到关键所在
        29
    Leigg   123 天前
    你是要抓这个 URL 中的什么信息,中间的正文应该是可以直接获取的
        30
    golmic   123 天前 via Android
    浏览器可以,requests 就一定可以。愿意付费可以联系我,微信公众号 pydatame 有联系方式
        31
    qqpkat2   123 天前
    js 加密检测,了解一下
        32
    jimmyczm   123 天前
    抓包时发现应该是这个 pwhqfbsrcqtcbabfzrvevcde.js 文件作怪,在这个文件后面浏览器和 selenium 的内容变了
        33
    soho176   119 天前
    用火车头试试看!
        34
    leir   118 天前 via iPhone
    @lixuda 搞定了么?简单得话,火车头就可以了,要想分析的话可以看看楼 js,没有混淆,能够明显看到检查
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   3184 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 20ms · UTC 03:24 · PVG 11:24 · LAX 20:24 · JFK 23:24
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1