首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析Scrapy请求中的502响应码?

如何解析Scrapy请求中的502响应码?
EN

Stack Overflow用户
提问于 2020-11-04 23:03:40
回答 2查看 161关注 0票数 0

我用Scrapy创建了一个从Yelp抓取数据的爬虫。所有请求都通过Crawlera代理。Spider获取要抓取的URL,发送请求,然后抓取数据。直到有一天,我开始收到502无响应。执行以下代码行后,将显示502无响应:

r = self.req_session.get(url, proxies=self.proxies, verify='../secret/crawlera-ca.crt').text

回溯:

2020-11-04 14:27:55 [urllib3.connectionpool] DEBUG: https://www.yelp.com:443 "GET /biz/a-dog-in-motion-arcadia HTTP/1.1" 502 None

因此,似乎爬虫无法到达URL,因为连接已关闭。

我已经检查了Scrapy和Crawlera文档中的502含义,它指的是连接被拒绝、关闭、域不可用以及类似的事情。我已经调试了与问题发生位置相关的代码,所有内容都是最新的。

如果有人对此有想法或知识,我会很乐意听到的,因为我被卡住了。这到底是什么问题呢?

注意:当我在浏览器中打开Yelp URL时,它们工作正常。

EN

回答 2

Stack Overflow用户

发布于 2020-11-08 04:33:25

从你的请求头部可以看出,你是一个“刮板”,而不是一个人类用户。

您应该随请求发送不同的标头,以便抓取的网站认为您正在使用常规浏览器进行浏览。

有关更多信息,请参阅the scrapy documentation

票数 1
EN

Stack Overflow用户

发布于 2020-11-05 10:55:32

某些页面在某些国家/地区不可用,因此建议使用代理。我尝试输入url,但连接成功。

代码语言:javascript
复制
2020-11-05 02:50:40 [scrapy.extensions.telnet] DEBUG: Telnet console listening on 127.0.0.1:6024
2020-11-05 02:50:40 [scrapy.core.engine] INFO: Spider opened
2020-11-05 02:50:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.yelp.com/biz/a-dog-in-motion-arcadia> (referer: None)```
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64682577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档