有没有办法命名一个抓取图像与其他信息(文本),我们得到的蜘蛛?例如,在这种情况下,我想与文章标题和文章发表日期,我在蜘蛛图像:
蜘蛛程序文件
# lines of code
def parse(self, response):
# lines of code
yield {
'date':date,
'title': article_title,
'image_urls': clean_urls
}
管道.py
from scrapy.pipelines.images import ImagesPipeline
class customImagesPipeline(ImagesPipeline):
def file_path(self, request, response=None, info=None, *, item=None):
return f"images/{request.url.split('/')[-1]}"
1条答案
按热度按时间vvppvyoh1#
实现这一点的一种方法是覆盖
get_media_requests
方法,并在image requestsmeta
属性上设置图像名称,这样就可以在file_path
方法中访问它。如果您将一个图像url作为字符串传递给
image_urls
,则下面的示例将起作用: