基友们在玩炉石传说,提出了一个想法
这个项目的第一步就是要到炉石传说卡牌工具页抓取数据
利用爬虫抓数据,一般我就直接上 selenium+phantomjs了。后来基友说这个网页是使用了AJAX来翻页,可以看看XHR。然后查了一下,资料点击这里,就开始使用 requests 直接抓数据。
在抓取过程中,会经常遇到 ConnectionError: ('Connection aborted.', error(10054, ''))
甚是蛋疼。。。
查询资料,看到了一些看似可行的方案:
1. head中有一个user-agent每次都换不同的模拟代理
2. 测试最大访问时间短,每秒多少次请求会出现中断,然后sleep(200)毫秒
3. 每次请求中断上一次链接,keep-live=false (没搞懂这里,查了一下资料)
4. 不然就是换IP访问
经过简单的测试: