Scrapy:捕获具有特定 HTTP 服务器代码的响应
Scrapy: catch responses with specific HTTP server codes
我们有一个非常标准的 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
.
的响应
Let Scrapy handle 500
and 502
:
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
我们有一个非常标准的 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
.
Let Scrapy handle 500
and 502
:
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