请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

session.get()会话能否加上代理ip和随机ua



https://img1.sycdn.imooc.com/szimg//59684b640001bfaf09670466.jpg

请问老师:session.get()能否加上代理ip和随机ua请求,session里面是带上selenium的cookies,速度快很多。但是抓不到100条数据就被识别到,只要用selenium启动chrome就被识别。我用本地浏览器访问是没问题。所以我就怀疑阿里巴巴是根据selenium启动chrome的ua和ip地址来封我的。,这种情况如何破解?

正在回答 回答被采纳积分+3

1回答

bobby 2017-07-17 09:18:45
import requests
proxies = {'http': ' 
s = requests.session()
s.proxies.update(proxies)
s.get("http://www.example.com")

可以的 你看看这个代码, 你可以先试试这个requests 如果还是不行 可以试试用其他的driver 比如chrome或者phantomjs 以及可以参考一下其他测试的语言 直接操作本地浏览器而不是driver, 我之前接触过autoit 还不错 你可以考虑 一下

0 回复 有任何疑惑可以回复我~
  • 提问者 慕先生0421411 #1
    老师好,我已用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?请求老师帮组!
    回复 有任何疑惑可以回复我~ 2017-07-17 23:45:26
  • bobby 回复 提问者 慕先生0421411 #2
    爬虫的反爬策略非常多 不一定只有通过cookie 和ip或者通过ua来判断你是否爬虫, 还有很多机器学习的方法,比如通过你的请求是否只请求html 不请求js css等, 所以你需要不停的去尝试, 阿里巴巴这种网站的反爬肯定是非常高的, 你需要找到那个临界值比如请求频率等, 还有你可以尝试一下收费的爬虫部署 看看那些收费服务能否解决这种问题, 我这里最近也发现了一款开源的 https://github.com/easychen/catgate 用于真实浏览器的爬取 你可以看看, 这个项目我还没有来得及看 你可以先试试
    回复 有任何疑惑可以回复我~ 2017-07-18 09:14:22
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号