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

来源:9-6 scrapy的暂停与重启

慕先生0421411

2017-07-14



http://szimg.mukewang.com/59684b640001bfaf09670466.jpg

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

写回答

1回答

bobby

2017-07-17

import requests
proxies = {'http': ' 
s = requests.session()
s.proxies.update(proxies)
s.get("http://www.example.com")

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

0
2
bobby
回复
慕先生0421411
爬虫的反爬策略非常多 不一定只有通过cookie 和ip或者通过ua来判断你是否爬虫, 还有很多机器学习的方法,比如通过你的请求是否只请求html 不请求js css等, 所以你需要不停的去尝试, 阿里巴巴这种网站的反爬肯定是非常高的, 你需要找到那个临界值比如请求频率等, 还有你可以尝试一下收费的爬虫部署 看看那些收费服务能否解决这种问题, 我这里最近也发现了一款开源的 https://github.com/easychen/catgate 用于真实浏览器的爬取 你可以看看, 这个项目我还没有来得及看 你可以先试试
2017-07-18
共2条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5795 学习 · 6290 问题

查看课程