1
私は、壊れたEXTERNALリンクを探しているドメイン全体をクロールする必要があるスクレイパーを構築しています。私は、次のしている外部404を見つけるには
:私はこのコードを実行すると
class domainget(CrawlSpider):
name = 'getdomains'
allowed_domains = ['start.co.uk']
start_urls = ['http://www.start.co.uk']
rules = (
Rule(LinkExtractor('/'), callback='parse_item', follow=True),
)
def parse_item(self, response):
for link in LinkExtractor(allow=(), deny = self.allowed_domains).extract_links(response):
resp = scrapy.Request(link.url, callback=self.parse_ext)
def parse_ext(self, response):
self.logger.info('>>>>>>>>>> Reading: %s', response.url)
を、それは私がHTTPステータスコードを取得し、これに基づいてさらに処理をしたいと思っparse_ext()関数に達することはありません。
parse_item()funcのページで抽出されたリンクをループしているときに、私はコールバックとしてparse_ext()を使用しています。
私は間違っていますか?
ビンゴを!また、dont_filter = TrueをRequestオブジェクトに追加する必要がありました。 yield scrapy.Request(link.url、callback = self.parse_ext、dont_filter = True) –