我的蜘蛛应该在第一个404之后停止。但是,它没有停止。
################ 404 ################
Enter LAST PK IN DATABASE
################ 404 ################
Enter LAST PK IN DATABASE
################ 200 ################
################ PK: 6 ################
################ 200 ################
################ PK: 7 ################
################ 404 ################
Enter LAST PK IN DATABASE
################ 200 ################
################ PK: 5 ################
################ 200 ################
################ PK: 9 ################
################ 200 ################
这里是解析函数:
class EventSpider(Spider):
handle_httpstatus_list = [404] # TODO: Move to middleware?
name = "myspider"
start_urls = ['https://www.someurl.com/api-internal/v1/events/%s/?format=json' % page for page in range(1,100)]
def parse(self, response):
# Accept X 404 error until stop processing
print("################", response.status, "################")
if response.status == 200:
test = json.loads(response.body)
print("################ PK: ", test.get("pk"), "################")
elif response.status == 404:
print("Enter LAST PK IN DATABASE")
raise CloseSpider("404")