我搜索了一下,但没有得到答案。我试图使用Python从网站下载一些图像文件。当网站html具有图片的网址时,我可以使用类似
的内容urllib.urlretrieve(pic_url, pic_name)
但是当它是类似
的数据URI时<img src="data:....">
如何从网站下载该图片?
提前谢谢!
答案 0 :(得分:1)
请参阅此处http://en.wikipedia.org/wiki/Data_URI_scheme数据实际上是HTML中的所有内容。您只需要某种形式的HTML解析器来定位标记,获取src=
的属性,然后以任何格式解码数据,通常是base64。
使用维基百科中的示例获取红点png:
>>> import base64
>>> png_data = "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
>>> with open('/tmp/red.png', 'w') as fp:
... fp.write(base64.b64decode())
...
现在,如果你看一下/tmp/red.png,它就是一个小红点。
考虑使用BeautifulSoup进行HTML处理。