我以scrapy開始,而且我有第一個真正的問題。它正在下載圖片。所以這是我的蜘蛛。用scrapy下載圖片
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from example.items import ProductItem
from scrapy.utils.response import get_base_url
import re
class ProductSpider(CrawlSpider):
name = "product"
allowed_domains = ["domain.com"]
start_urls = [
"http://www.domain.com/category/supplies/accessories.do"
]
def parse(self, response):
hxs = HtmlXPathSelector(response)
items = []
sites = hxs.select('//td[@class="thumbtext"]')
number = 0
for site in sites:
item = ProductItem()
xpath = '//div[@class="thumb"]/img/@src'
item['image_urls'] = site.select(xpath).extract()[number]
item['image_urls'] = 'http://www.domain.com' + item['image_urls']
items.append(item)
number = number + 1
return items
當我引用ITEM_PIPELINES
和IMAGES_STORE
在settings.py
這樣,我得到的圖片我想下載(複製粘貼成瀏覽器檢查)正確的URL。
但是,當我解除引用那些我獲得以下錯誤:
raise ValueError('Missing scheme in request url: %s' % self._url')
exceptions.ValueError: Missing scheme in request url:h
,我不能下載我的照片。
我搜索了整整一天,沒有找到有用的東西。
你有一個管道來處理網址嗎?你在settings.py中註冊了你的管道嗎? http://doc.scrapy.org/en/latest/topics/images.html,很有參考價值。你有適當的權限寫入IMAGE_STORE路徑嗎? – dm03514 2012-01-08 01:12:17
是的,我做了一切,因爲它說,其實我用這個參考,但仍然...否 – iblazevic 2012-01-08 19:28:13