我使用Scrapy,我想在输入解析方法之前检查状态代码。
我的代码如下:
class mywesbite(BaseSpider):
# Crawling Start
CrawlSpider.started_on = datetime.now()
# CrawlSpider
name = 'mywebsite'
DOWNLOAD_DELAY = 10
allowed_domains = ['mywebsite.com']
pathUrl = "URL/mywebsite.txt"
# Init
def __init__(self, local = None, *args, **kwargs):
# Heritage
super(mywebsite, self).__init__(*args, **kwargs)
# On Spider Closed
dispatcher.connect(self.spider_closed, signals.spider_closed)
def start_requests(self):
return [ Request(url = start_url) for start_url in [l.strip() for l in open(self.pathUrl).readlines()] ]
def parse(self, response):
print "==============="
print response.headers
print "==============="
# Selector
sel = Selector(response)
当我的代理没有被阻止时,我看到了响应头,但是当我的IP被阻止时,我只是在输出控制台中看到:
DEBUG:忽略响应< 999 https://www.mywebsite.com>:HTTP状态 代码未被处理或不被允许。
如何在输入解析方法之前检查响应头?
编辑: 回答:当爬行系统阻止/禁止蜘蛛时,会出现此错误。您必须使用未阻止的代理系统。