在Scrapy中获取图像URL

时间:2019-02-15 13:30:51

标签: python scrapy imageurl

我对任何形式的编码都是新手。我通过尝试使用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 :(得分:1)

您能给我们您要抓取的链接吗?

有时,网站的负载很懒,并且在其他img属性中隐藏了常规链接。例如data-originaldata-src等。或者将指向图像的链接保存在页面脚本中存储的jsons中。

答案 1 :(得分:0)

您的网站可能正在使用数据URI将图像数据定义为base64编码的blob。基本上,图像数据嵌入在HTML中,因此没有可用的常规URL。 在此处阅读更多信息:https://css-tricks.com/data-uris/