Получение изображений URL в Scrapy - PullRequest
0 голосов
/ 15 февраля 2019

Я очень новичок в любой форме кодирования.Я начал учебный процесс, пытаясь сделать простой сканер с помощью Scrapy.Это вроде работает, но по какой-то причине я не могу получить URL изображения для вывода должным образом.Он выдает некоторое значение «data: image / gif; base64 ...» вместо фактической ссылки в атрибуте src.Я искал ответы, но я не могу найти ничего, что дало бы мне окончательный ответ (к тому же я, возможно, не до конца понимаю проблему).Любая помощь будет принята с благодарностью.

def parse(self, response):
    for data in response.css("a.styles__link--2pzz4"):
        yield {
            'title': data.css('a::attr(title)').get(),
            'price': data.css('span::text').get(),
            'url': data.css('a::attr(href)').get(),
            'image url': data.css('img::attr(src)').get(),
        }

        next_page = response.css('li span a::attr(href)').get()
        if next_page is not None:
            next_page = response.urljoin(next_page)
            yield scrapy.Request(next_page, callback=self.parse)  

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Ваш веб-сайт может определять данные изображения как BLOB-кодированный код с использованием URI данных.По сути, данные изображения встроены в HTML, поэтому нет нормального URL-адреса.Подробнее читайте здесь: https://css -tricks.com / data-uris /

0 голосов
/ 15 февраля 2019

Можете ли вы дать нам ссылку, которую вы хотите очистить?

Иногда веб-сайты загружаются медленно и скрывают обычные ссылки в других атрибутах img.Например, data-original, data-src и т. Д. Или сохраните ссылки на изображения в jsons, хранящиеся в скрипте на странице.

...