如何检查" HTTP状态代码未被处理或不被允许"用Scrapy?

时间:2015-07-31 13:38:47

标签: python proxy web-scraping scrapy tor

我使用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状态   代码未被处理或不被允许。

如何在输入解析方法之前检查响应头?

编辑: 回答:当爬行系统阻止/禁止蜘蛛时,会出现此错误。您必须使用未阻止的代理系统。

0 个答案:

没有答案