ошибка scrapy:исключения.ValueError: отсутствует схема в url-адресе запроса:
Я использую try except
чтобы избежать ошибки, но мой терминал все еще показывает ошибку, но не сообщение журнала:
raise ValueError('Missing scheme in request url: %s' % self._url)
exceptions.ValueError: Missing scheme in request url:
как я могу избежать этой ошибки, когда scrapy не получил image_urls?
Пожалуйста, проводите меня, большое спасибо.
try:
item['image_urls'] = ["".join(image.extract()) ]
except:
log.msg("no image foung!. url={}".format(response.url),level=log.INFO)
2 ответов
на image_urls
поле должно быть списком, а не str.
item['image_urls'] = image.extract()
если вы это сделаете и все равно создадите исключение, кажется, что URL-адреса, которые вы очистили, являются относительным путем.
на ImagePipeline
не знает ваш хост, поэтому он не может генерировать абсолютный путь для обхода.
import urlparse
item['image_urls'] = [ urlparse.urljoin(response.url, u) for u in image.extract() ]
" отсутствует схема в url-адресе запроса "означает, что вам не хватает части" http:// " url-адреса, скорее всего, потому, что ваши URL-адреса относительны и должны быть абсолютными.