Hallå. Har gjort en webcrawler för skojs skull för att hämta hem diverse bilder från hemsidor. Har dock problem med att spara filerna på datorn.
settings.py
items.py
image_spider.py
Hittar inga errors i loggen. Men eftersom jag får fram t.ex:
Så verkar det rulla på som det ska. Förutom att jag dom inte sparas på korrekt sätt.
Några idéer?
settings.py
Kod:
BOT_NAME = 'img' SPIDER_MODULES = ['img.spiders'] NEWSPIDER_MODULE = 'img.spiders' ITEM_PIPELINES = {'scrapy.pipelines.images.ImagesPipeline': 1} IMAGES_STORE = 'C:\Users\123\Desktop\images'
items.py
Kod:
from scrapy.item import Item, Field class ImageItem(Item): images = Field() image_urls = Field()
image_spider.py
Kod:
from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor from scrapy.contrib.loader import XPathItemLoader from scrapy.http.request import Request from scrapy.item import Item from img.items import ImageItem class ImageSpider(CrawlSpider): name = 'image-spider' allowed_domains = ['tumblr.com'] start_urls = ['http://lovedota2.tumblr.com/'] rules = ( Rule(SgmlLinkExtractor(allow=(".",)), callback='parse_item', follow=True), ) def parse_item(self, response): loader = XPathItemLoader(item = ImageItem(), response = response) loader.add_xpath('image_urls', '//img/@src') return loader.load_item()
Hittar inga errors i loggen. Men eftersom jag får fram t.ex:
Kod:
{'checksum': '359dae08f03c9db54bea04e7f01eadf4', 'path': 'full/9fde70cda0df1e4893e0aa0f9946ac1f6aaa1cf3.jpg', 'url': 'http://41.media.tumblr.com/ba25586708b94a5ceb29180cd0ce8fb6/tumblr_mg81giC9ky1rt2j9do1_500.jpg'},
Så verkar det rulla på som det ska. Förutom att jag dom inte sparas på korrekt sätt.
Några idéer?