我对任何形式的编码都是新手。我通过尝试使用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)
答案 0 :(得分:1)
您能给我们您要抓取的链接吗?
有时,网站的负载很懒,并且在其他img
属性中隐藏了常规链接。例如data-original
,data-src
等。或者将指向图像的链接保存在页面脚本中存储的jsons中。
答案 1 :(得分:0)
您的网站可能正在使用数据URI将图像数据定义为base64编码的blob。基本上,图像数据嵌入在HTML中,因此没有可用的常规URL。 在此处阅读更多信息:https://css-tricks.com/data-uris/