我们有一个非常标准的 Scrapy 项目(Scrapy 0.24)。
我想捕获特定的 HTTP 响应代码,例如 200、500、502、503、504 等。
像这样的东西:
class Spider(...):
def parse(...):
processes HTTP 200
def parse_500(...):
processes HTTP 500 errors
def parse_502(...):
processes HTTP 502 errors
...
我们怎样才能做到这一点?
默认情况下,Scrapy只处理带有状态码的响应200
-300
.
让 Scrapy 处理500 and 502 https://stackoverflow.com/questions/13724730/how-to-get-the-scrapy-failure-urls:
class Spider(...):
handle_httpstatus_list = [500, 502]
然后,在parse()
回调,检查response.status
:
def parse(response):
if response.status == 500:
# logic here
elif response.status == 502:
# logic here
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)