Scrapy を使用して HTML のみの Web サイトをダウンロードしようとしています。これを実現するために CrawlSpider クラスを使用しています。これが私のパーサーの外観です。私のクローラーはページの HTML ソースをダウンロードし、Web サイトのローカル ミラーを作成します。Web サイトを正常にミラーリングしますが、画像はありません。各ページに添付された画像をダウンロードするために、次を追加してみました。
def parse_link(self, response):
# Download the source of the page
# CODE HERE
# Now search for images
x = HtmlXPathSelector(response)
imgs = x.select('//img/@src').extract()
# Download images
for i in imgs:
r = Request(urljoin(response.url, i), callback=self.parse_link)
# execute the request here
Scrapy's Documentationの例では、パーサーは Request オブジェクトを返し、それが実行されるようです。
応答を取得するために、手動で要求を実行する方法はありますか? parse_link 呼び出しごとに複数のリクエストを実行する必要があります。