Я начинаю с 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
и я не могу загрузить мои фотографии.
Я искал весь день и не нашел ничего полезного.
у вас есть конвейер для обработки URL-адресов? Вы зарегистрировали свой конвейер в settings.py? http://doc.scrapy.org/en/latest/topics/images.html, это отличная рекомендация. есть ли у вас надлежащие права на запись на путь IMAGE_STORE? – dm03514
да, я сделал все, как сказано, на самом деле я использовал эту ссылку, но все же ... нет – iblazevic