画像をスクレイピングし、結果を Scrapy で CSV としてエクスポートする際にいくつかの問題があります。私の設定は次のとおりです。
FEED_URI = 'export.csv'
FEED_FORMAT = 'csv'
最初の問題は、エクスポートが CSV ではなく JSON として出力されることです。もう 1 つの問題は、エクスポートに start_urls を含めたいので、エクスポートは次のようにする必要があることです。
start_url, original_image, scraped_image
http://www.bk.com, http://www.bk.com/images/bk-logo-rv.png, http://mysite.com/53948534985374.jpg
それが私が実行しているコマンドです:
scrapy crawl image_downloader -L ERROR --logfile=log
そして、それがパイプラインです:
class ImageDownloaderPipeline(ImagesPipeline):
def get_media_requests(self, item, info):
for image_url in item['image_urls']:
yield Request(image_url)
def item_completed(self, results, item, info):
image_paths = [x['path'] for ok, x in results if ok]
if not image_paths:
raise DropItem("Item contains no images")
return item
誰か助けてくれませんか?
ありがとう!