python - 做爬虫,如何避免被反爬虫?
ringa_lee
ringa_lee 2017-04-17 16:32:39
[Python讨论组]
ringa_lee
ringa_lee

ringa_lee

全部回复(4)
伊谢尔伦

封杀分很多种的:
1.有基于ua来封的,这种你添加一个随机的ua就行
2.基于ip的访问频率的,这种比较麻烦,你得挂代理
3.基于请求特征,比如没有带cookie,没有带header固有的一些字段的,这种需要你去模拟真实请求的ua

然后建议你看看 一些开源的爬虫实现。http://project.codefrom.com/?w=spider

伊谢尔伦

看到一个使用手机模拟人工操作的。不过忘记文章在哪里了。

PHP中文网

淘宝的限制比较严格,我也做过爬淘宝的,不过是用Java做的,主要要注意三个问题:
1、请求头的Referer参数
这个参数必须设置,否则很容易被拦截掉

2、请求头的cookie数据
这里不是说简单cookie,最好用一个正常的帐号去浏览器登录好,然后F12把请求的cookie复制出来,放到你爬虫的请求cookie里面,这样淘宝就会认为你是一个正常用户在浏览,限制条件就会放开很多,比没有这样设置的能多爬很多数据。

3、请求IP
即使做了上面的设置,如果爬得多了,还是有可能需要你输入验证码或者直接拒绝你的请求,所以还是得加入代理机制,代理可以花钱买,也可以用免费的,有很多,防止封IP。

迷茫

可以关注一下我写的一个开源组件,设置一个代理服务器池,防止反爬虫策略的屏蔽,并进行了自动调节请求频率,处理异常请求,优先选取响应快的代理。https://github.com/letcheng/ProxyPool

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号