在 Scrapy 中获取图像 URL

我对任何形式的编码都很陌生。我通过尝试使用 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)  


翻翻过去那场雪
浏览 261回答 2
2回答

凤凰求蛊

你能给我们你想抓取的链接吗?有时网站有延迟加载并隐藏其他img属性中的正常链接。例如data-original,data-src等还是保留链接,图像jsons,存储在脚本页面上。

千巷猫影

您的网站可能使用数据 URI 将图像数据定义为 base64 编码的 blob。基本上,图像数据嵌入在 HTML 中,因此没有可用的正常 URL。在此处阅读更多信息:https : //css-tricks.com/data-uris/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python