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

2016-06-11 13:17:41 +08:00
 disonlee

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

4804 次点击
所在节点    Python
9 条回复
kenX
2016-06-11 15:16:07 +08:00
PhantomJS
ioven
2016-06-11 16:37:02 +08:00
requests 允许跳转
disonlee
2016-06-11 16:45:38 +08:00
@ioven 是允许跳转,我不太清楚这个 cdn 后面加的字符串什么策略, headers 也都伪装了,还是提示 too many loops
xiaozhizhu1997
2016-06-11 18:51:37 +08:00
@disonlee 加 key 是一种防御 L7(CC)攻击的方式。
ioven
2016-06-11 22:49:39 +08:00
@disonlee 应该与 CDN 无关,浏览器尝试打开,获取所有 headers 字段用于伪装,实在不行可以登陆后爬去
disonlee
2016-06-11 23:33:58 +08:00
@ioven 十分感谢指点 我去试试
wujunze
2016-06-12 10:10:19 +08:00
PhantomJS 这个是神器
maxsec
2016-06-12 16:31:03 +08:00
建议 livid 版规中禁止讨论爬虫抓取此类负能量的功能问题
Verydiao
2016-07-18 13:30:41 +08:00
@maxsec 爬虫并不直接等于负能量,看怎么用吧,你看刀子可以用来切水果也可以用来杀人,关键还是看用的人,爬虫有其存在的必要性。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/284891

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX