- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 python 中运行一个 Scrapy 蜘蛛来从网站上抓取图像。在尝试了一些其他方法之后,我试图实现一个 ImagesPipeline 来执行此操作。
items.py
class NHTSAItem(scrapy.Item):
image_urls = scrapy.Field()
images = scrapy.Field()
settings.py:
ITEM_PIPELINES = {'scrapy.pipelines.images.ImagesPipeline': 1}
IMAGES_STORE = 'C:\Users\me\Desktop'
myspider.py
def parse_photo_page(self, response):
item = NHTSAItem()
for sel in response.xpath('//table[@id="tblData"]/tr'):
url = sel.xpath('td/font/a/@href').extract()
table_fields = sel.xpath('td/font/text()').extract()
if url:
base_url_photo = "http://www-nrd.nhtsa.dot.gov"
full_url = base_url_photo + url[0]
if not item:
item['image_urls'] = [full_url]
else:
item['image_urls'].append(full_url)
return item
没有出现错误,只是图片没有下载。调试器甚至说“Scraped” 这是日志:
DEBUG: Scraped from <200 http://www-nrd.nhtsa.dot.gov/database/VSR/veh/../SearchMedia.aspx?database=v&tstno=4000&mediatype=p&p_tstno=4000>
{'image_urls': [u'http://www-nrd.nhtsa.dot.gov/database/MEDIA/GetMedia.aspx?tstno=4000&index=1&database=V&type=P',
u'http://www-nrd.nhtsa.dot.gov/database/MEDIA/GetMedia.aspx?tstno=4000&index=2&database=V&type=P',
u'http://www-nrd.nhtsa.dot.gov/database/MEDIA/GetMedia.aspx?tstno=4000&index=3&database=V&type=P',
u'http://www-nrd.nhtsa.dot.gov/database/MEDIA/GetMedia.aspx?tstno=4000&index=4&database=V&type=P',
u'http://www-nrd.nhtsa.dot.gov/database/MEDIA/GetMedia.aspx?tstno=4000&index=5&database=V&type=P']}
我不关心扩展管道(制作自定义管道),默认图像管道很好。这些图像无处可寻。任何想法我做错了什么?
最佳答案
这是我从这个平行问题中得到的解决方案:Scrapy: Error 10054 after retrying image download (感谢@neverlastn)
我只是将这段代码添加到我实际的 spider.py 文件中。
custom_settings = {
"ITEM_PIPELINES": {'scrapy.pipelines.images.ImagesPipeline': 1},
“IMAGES_STORE”:保存位置
}
我认为它没有正确引用我的 settings.py 文件,因此没有激活图像管道。我不确定如何让它准确引用我的设置文件,但这个解决方案对我来说已经足够好了!
关于python - Scrapy ImagesPipeline 不下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35873790/
我在 python 中运行一个 Scrapy 蜘蛛来从网站上抓取图像。在尝试了一些其他方法之后,我试图实现一个 ImagesPipeline 来执行此操作。 items.py class NHTSAI
默认情况下,Scrapy 为使用 ImagesPipeline 保存的所有图像设置 2 天(172800 秒)Cache-Control header 。我想将该值更新为 2592000,即 30 天
我是 Python 新手,所以如果这里有一个愚蠢的错误,我深表歉意...我已经在网络上搜索了好几天,查看类似的问题并梳理 Scrapy 文档,但似乎没有什么能真正为我解决这个问题... 我有一个 Sc
我是一名优秀的程序员,十分优秀!