在使用Scrapy从cnn.com搜索结果中获取数据时,我遇到了问题。例如,我们在浏览器中有一个链接https://edition.cnn.com/search/?q=war,它看起来很好。当我输入“view(Response)”时,Scrapy shell返回一些不满意的内容:“您的搜索与任何文档不匹配。尝试使用较少限制的搜索条件,也许我们可以找到一些东西。”我将从每个搜索结果页面获取所有链接,并解析适合给定查询的每一篇文章(本例中为“war”)。
截图:
我发现了一个与此相关的案例:抓取谷歌搜索,我的问题是否有相同的根源,而cnn.com却阻止了机器人?
发布于 2019-02-28 08:26:31
发布于 2019-02-28 06:25:15
当您从浏览器在此网站上执行搜索时,会将cookie发布到后端,其中包含有关计算机的数据(地理定位、语言等),我猜后端只在存在cookie的情况下执行查询。
您可以使用cookie=构建参数在您的刮伤请求中传递cookie。
如果失败(例如,如果cookie包含一个每次更改的令牌),您也可以尝试使用Selenium搜索网站。
https://stackoverflow.com/questions/54922887
复制