我仍在尝试从这种URL中刮取搜索结果,http://so.news.cn/getNews?keyword=%E7%BE%8E%E5%9B%BD&curPage=55&sortField=0&searchFields=0&lang=cn是中文在线报纸的搜索结果。 Scrapy适用于一些请求,然后得到以下终端输出。
2019-12-19 11:56:19 [scrapy.spidermiddlewares.httperror]信息:忽略响应<461 dark theme is available in Android 10>:未处理或不允许HTTP状态代码
如果我添加一个延迟,它似乎可以更好地工作,但是那太慢了。这是因为我被该网站阻止了吗,对此我能做些什么?我目前在settings.py中没有定义任何特殊的User-Agent。我尝试使用 scrapy-UserAgent 旋转User-Agent,但是它似乎没有用。 VPN有帮助吗?
谢谢
答案 0 :(得分:1)
要测试的不同解决方案:
充分利用会话:
1)保持同一会话的请求量(30到60)
2)在30到60次请求后清除您的cookie并更改用户代理。 使用以下简单的python框架:https://pypi.org/project/shadow-useragent/
3)如果仍然不起作用:借助于代理提供程序,可以随着时间的推移轮换IP(例如,每30至60个请求),轮换用户代理,同时清除cookie。
对于大多数网站,您现在应该看起来随机。如果您看到了更多的机器人缓解(验证码)或专门的反抓取服务,则可能会变得更加棘手。