采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问老师:session.get()能否加上代理ip和随机ua请求,session里面是带上selenium的cookies,速度快很多。但是抓不到100条数据就被识别到,只要用selenium启动chrome就被识别。我用本地浏览器访问是没问题。所以我就怀疑阿里巴巴是根据selenium启动chrome的ua和ip地址来封我的。,这种情况如何破解?
import requests proxies = {'http': ' s = requests.session() s.proxies.update(proxies) s.get("http://www.example.com")
可以的 你看看这个代码, 你可以先试试这个requests 如果还是不行 可以试试用其他的driver 比如chrome或者phantomjs 以及可以参考一下其他测试的语言 直接操作本地浏览器而不是driver, 我之前接触过autoit 还不错 你可以考虑 一下
老师好,我已用selenium启动chrome加上随机ip和随机useragent然后把selenium的cookie值get出来付给requests去访问,以为能成功破解阿里巴巴的反爬。结果爬1000条多数据后被识别要求登录。发现如下问题:1·如果selenium不加随机ip和ua,爬不到100条数据就被识别,后经加上ip和ua给selenium可以爬上1000条,说明是有效的添加上ip和ua。2·爬了1000多条数据对selenium的模拟浏览器要求登录访问数据,然后我用本地浏览器清空缓存cookie再访问阿里巴巴依然是被封了要求登录,说明阿里巴巴是封了我的本地ip,问题是我的爬虫程序中所有的请求都是用了代理ip的,从没有用本地ip访问的。阿里巴巴是怎么样封了我的本地ip?请求老师帮组!
爬虫的反爬策略非常多 不一定只有通过cookie 和ip或者通过ua来判断你是否爬虫, 还有很多机器学习的方法,比如通过你的请求是否只请求html 不请求js css等, 所以你需要不停的去尝试, 阿里巴巴这种网站的反爬肯定是非常高的, 你需要找到那个临界值比如请求频率等, 还有你可以尝试一下收费的爬虫部署 看看那些收费服务能否解决这种问题, 我这里最近也发现了一款开源的 https://github.com/easychen/catgate 用于真实浏览器的爬取 你可以看看, 这个项目我还没有来得及看 你可以先试试
登录后可查看更多问答,登录/注册
带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎
5.5k 30
2.9k 18
1.6k 18
1.8k 15
3.4k 15
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号