python - img src=blob : how to download image?

标签 python web-scraping scrapy blob scrapy-spider

我使用 Python 在 Google Art 上下载一个网页(例如 Portrait of Anthony Valabrègue ),其中包含 Blob 中的图像,例如:

<img src="blob:https://www.google.com/c8c0132a-1ab7-453b-844c-0aab6449af69">

我怎样才能下载这张图片?使用 URL 直接下载 blob:https://www.google.com/c8c0132a-1ab7-453b-844c-0aab6449af69不起作用。图像由 6 个图块组成,这些图块位于 div 中,使用 XPath
$x('//*[@id="yDmH0d"]/div/div/div[1]/div/div[1]/div[4]/div[11]')

图像存储在 blob s。

理想情况下,我希望能够使用 scrapy 从网页下载此类图像。图书馆。我知道如何处理常规网址,但不知道如何处理 blob:https .

是的,有一种简单的方法可以在此网页上找到指向小分辨率图像的常规链接。但是我想获得更高的分辨率,这就是为什么我需要下载存储在 blob 中的 6 个不同的图块的原因。 s。

最佳答案

我认为您正在错误的地方寻找您的形象。
您正在抓取的网站充满了 javascript 困惑,这使得通过 dom inspect 找到图像有点困难,因此在这种情况下,您需要挖掘源页面本身。

您可以在 <meta> 中找到您正在寻找的这张特定图像的地方。标签:

def parse(self, response):
    item = response.xpath('//meta[@property="og:image"]/@content').extract_first()
    #'https://lh5.ggpht.com/-HvgLbwqJ7Yy1iF9imtgsGhVDBDafmvTnDRZSCKl_PNjMT_KXaoNLuO4A7tb4Q'
    yield Request(item, self.parse_image)

def parse_image(self, response):
    with open('image.jpg', 'w') as f:
        f.write(response.body)

关于python - img src=blob : how to download image?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43244794/

相关文章:

python - Scrapy - 如何使用 python 抓取网络链接中的网络链接?

python - Sprox 形式与 Turbogears,使用 Mako,仅显示纯文本

python - Numpy:检查值是否为 NaT

python geopy 获取城市和国家

python - 为随机组创建评级系统

python - 无法从网页中获取一定数量的正确值

java - 使用 Selenium 在表上迭代

html - 如何从 Chrome 网络抓取插件的可视弹出窗口中提取数据?

python - MongoDB 无效文档 : Cannot encode object

python - 如何从不同的url获取xpath,由start_requests方法返回