推荐学习书目
› 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
disonlee
V2EX  ›  Python

求教 python 采集挂了 Incapsula 的页面问题

  •  
  •   disonlee · Jun 11, 2016 · 5726 views
    This topic created in 3797 days ago, the information mentioned may be changed or developed.

    各位好,最近想采集一个网站,采用的是 urllib2 和 beautifulsoup 。然后发现这个网站挂了 Incapsula 这个 CDN ,和 Cloudflare 一样,访问主页 aaa.com 之后会在后面加入 aaa.com/?key302=80ebbaed9d&expire302=1465622987&keyjs=80ebbaed9d&expirejs=1465622987 这样的字符串。用 urllib.request 方法就会报 302 错误,请教这种情况下如何解决? 十分感谢!

    9 replies  •  2016-07-18 13:30:41 +08:00
    kenX
    kenX
    Jun 11, 2016 via iPhone❤️1
    1
    PhantomJS
    ioven
    ioven
    Jun 11, 2016❤️1
    2
    requests 允许跳转
    disonlee
    disonlee
    OP
    Jun 11, 2016 via iPhone
    3
    @ioven 是允许跳转,我不太清楚这个 cdn 后面加的字符串什么策略, headers 也都伪装了,还是提示 too many loops
    xiaozhizhu1997
    xiaozhizhu1997
    Jun 11, 2016 via Android❤️1
    4
    @disonlee 加 key 是一种防御 L7(CC)攻击的方式。
    ioven
    ioven
    Jun 11, 2016❤️1
    5
    @disonlee 应该与 CDN 无关,浏览器尝试打开,获取所有 headers 字段用于伪装,实在不行可以登陆后爬去
    disonlee
    disonlee
    OP
    Jun 11, 2016
    6
    @ioven 十分感谢指点 我去试试
    jinfeng333
    jinfeng333
    Jun 12, 2016
    7
    PhantomJS 这个是神器
    maxsec
    maxsec
    Jun 12, 2016
    8
    建议 livid 版规中禁止讨论爬虫抓取此类负能量的功能问题
    Verydiao
    Verydiao
    Jul 18, 2016
    9
    @maxsec 爬虫并不直接等于负能量,看怎么用吧,你看刀子可以用来切水果也可以用来杀人,关键还是看用的人,爬虫有其存在的必要性。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3189 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 10:43 · PVG 18:43 · LAX 02:43 · JFK 05:43
    ♥ Do have faith in what you're doing.