【发布时间】:2016-07-26 11:53:48
【问题描述】:
以下:scrapy's 教程我做了一个简单的图像爬虫(抓取布加迪的图像)。下面的 EXAMPLE 中对此进行了说明。
但是,按照指南操作给我留下了一个无法正常工作的爬虫!它会找到所有的 url,但不会下载图像。
我找到了一个鸭带解决方案:替换 ITEM_PIPELINES 和 IMAGES_STORE 这样;
ITEM_PIPELINES['scrapy.pipeline.images.FilesPipeline'] = 1 和
IMAGES_STORE -> FILES_STORE
但我不知道为什么会这样?我想使用 scrapy 记录的 ImagePipeline。
示例
settings.py
BOT_NAME = 'imagespider'
SPIDER_MODULES = ['imagespider.spiders']
NEWSPIDER_MODULE = 'imagespider.spiders'
ITEM_PIPELINES = {
'scrapy.pipelines.images.ImagesPipeline': 1,
}
IMAGES_STORE = "/home/user/Desktop/imagespider/output"
items.py
import scrapy
class ImageItem(scrapy.Item):
file_urls = scrapy.Field()
files = scrapy.Field()
imagespider.py
from imagespider.items import ImageItem
import scrapy
class ImageSpider(scrapy.Spider):
name = "imagespider"
start_urls = (
"https://www.find.com/search=bugatti+veyron",
)
def parse(self, response):
for elem in response.xpath("//img"):
img_url = elem.xpath("@src").extract_first()
yield ImageItem(file_urls=[img_url])
【问题讨论】:
-
能否请您发布
__main__存根?我们如何输入这些函数? -
__main__ 将是标准的 Scrapy 代码,一个样板。它会调用这个代码的蜘蛛。我同意你的代码是不完整的,但是可以推测其他移动部件的外观。
标签: python scrapy scrapy-spider scraper