V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
smallgoogle
V2EX  ›  Python

谈谈网易云的反爬机制

  •  1
     
  •   smallgoogle · 2018-11-09 19:34:07 +08:00 · 6614 次点击
    这是一个创建于 2205 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近想做大数据分析; 所以想爬取了网易云的所有用户信息;

    那么重点来了,我发现,网易云有单模块防御机制; 比如个人用户主页,我爬取了大概 5W+左右,反爬机制就生效了, 不管访问哪一个用户的主页,都是返回 404,连我自己的个人中心都无法登录了;

    我试过 cookie 变换,但是得出结论绝对是 IP 被黑了。 请问各位,有没有相关经验。 到底是不是黑了 IP。。。。。

    第 1 条附言  ·  2018-11-30 04:54:06 +08:00
    根据我那么半个月的爬取,得出稳如狗的结论;

    网易云的反爬机制:
    首先 Ban Cookie,然后 Ban IP ;
    如果更换 IP 了,不更换 Cookie,依然被 Ban ;


    所以只要更换 IP 和 Cookie 就可以了,UA 不需要随机。

    数据那么多,随机间隔也是没啥用的,自我安慰一下吧。大概是;
    24 条回复    2018-11-30 09:49:56 +08:00
    sunzongzheng
        1
    sunzongzheng  
       2018-11-09 19:38:54 +08:00 via Android   ❤️ 1
    我被 ban 过 ip,大概 ban 了 7 到 10 天左右
    smallgoogle
        2
    smallgoogle  
    OP
       2018-11-09 19:59:12 +08:00
    @sunzongzheng 不是。那么认真的么? 7-10 天?
    cyrbuzz
        3
    cyrbuzz  
       2018-11-09 20:49:08 +08:00
    网易云的反爬貌似是基于账号的,换 cookies 是有用的吧?
    Baboonowen
        4
    Baboonowen  
       2018-11-09 21:01:29 +08:00
    来个爬虫代码 让大伙验证一下 嘿嘿
    CivAx
        5
    CivAx  
       2018-11-09 21:05:10 +08:00
    去随便一个云买个小鸡跑一下就知道了
    locoz
        6
    locoz  
       2018-11-09 21:23:43 +08:00 via Android
    不换 IP 又不在限制范围内当然会被封 IP 啊。。
    smallgoogle
        7
    smallgoogle  
    OP
       2018-11-09 22:03:39 +08:00
    @cyrbuzz 是 IP 挂了。cookie 换过了。无效。
    masterjoess
        8
    masterjoess  
       2018-11-09 22:52:36 +08:00
    虽然让你爬了 5W+了,但你该不会是想用单 IP 爬全站吧?全国混拨了解一下
    sunzongzheng
        9
    sunzongzheng  
       2018-11-09 23:03:43 +08:00 via Android
    @smallgoogle 我上次是 for 循环无延时调的音乐接口,在服务器上,然后被 ban 了这么久
    LukeChien
        10
    LukeChien  
       2018-11-09 23:04:15 +08:00
    网易云有啥好爬的
    whoami9894
        11
    whoami9894  
       2018-11-09 23:58:20 +08:00 via Android
    我记得原来爬 ins,cookie+ip+请求间隔反爬,接口还乱糟糟,头疼
    smallgoogle
        12
    smallgoogle  
    OP
       2018-11-10 02:32:56 +08:00
    @sunzongzheng 目前来看。我到现在还没解封。估计是六七天才行了。
    smallgoogle
        13
    smallgoogle  
    OP
       2018-11-10 02:33:12 +08:00
    @masterjoess 大概是我太单纯了。
    smallgoogle
        14
    smallgoogle  
    OP
       2018-11-10 17:00:36 +08:00   ❤️ 2
    这两天摸出结论:

    网易云是双封,先在你的 cookies 写入封禁的字段,然后封禁 IP ;
    如果你换了 IP,不清理 cookies,一样死;

    所以解封的办法是,先清理 cookie,然后换 IP。然后访问就 OK 了。
    cxa
        15
    cxa  
       2018-11-12 16:50:07 +08:00
    现在还有写爬虫不叫代理的么。。。
    bjt5521
        16
    bjt5521  
       2018-11-14 11:43:49 +08:00
    我是做代理 IP 的,我们有个企业客户,成立了一个攻坚反爬部门,专门研究怎么绕过风控抓取数据。现在风控台厉害了
    smallgoogle
        17
    smallgoogle  
    OP
       2018-11-16 01:57:58 +08:00
    @bjt5521 成功绕过了么?
    skywingfs
        18
    skywingfs  
       2018-11-19 17:30:16 +08:00
    搞爬虫你需要代理池
    kr380709959
        19
    kr380709959  
       2018-11-22 16:07:42 +08:00
    你这单 ip 单 cookie 想爬全站么?
    我一个新手爬拉钩都用了十几个 cookie+代理隧道爬取,爬了 50 万+的数据,压根没毛病。
    楼上有个哥们说得对,随机 cookie 列表+代理 ip+随机间隔请求时间,基本上对付中小网站没问题了,除非你想碰阿里这种怪物。
    find456789
        20
    find456789  
       2018-11-29 11:00:24 +08:00
    @kr380709959

    请问您这十几个 cookie,是同一个账号生成的, 还是 十几个不同账号生成的。 谢谢
    kr380709959
        21
    kr380709959  
       2018-11-29 13:16:08 +08:00
    @find456789 我用的是一个账号生成的 cookie,但是不知道网站是不是对 cookie 有限制的。你也可以生成十几个账号对应的 cookie 来爬,那样反爬就更难处理了
    kr380709959
        22
    kr380709959  
       2018-11-29 13:17:16 +08:00
    @find456789 我简单说下我的反反爬思路吧。
    1.随机 UA
    2.随机 time.sleep
    3.随机 cookie
    4.代理隧道动态 ip
    smallgoogle
        23
    smallgoogle  
    OP
       2018-11-30 04:49:53 +08:00
    @kr380709959 其实网易云的反爬除了 IP 还有 cookie。如果 IP 被墙了。Cookie 也是有问题的。。就算你换 IP,不清除 cookie。依然被墙。UA 倒是没限制。
    kr380709959
        24
    kr380709959  
       2018-11-30 09:49:56 +08:00
    @smallgoogle 那就要仔细研究下了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2559 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:32 · PVG 18:32 · LAX 02:32 · JFK 05:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.