1
我搜索了一下,但沒有得到答案。我試圖使用Python從網站下載一些圖像文件。當網站HTML有圖片的網址,我可以使用類似使用Python下載數據URI
urllib.urlretrieve(pic_url, pic_name)
但是,當它是一個數據的類似
<img src="data:....">
URI我怎樣才能從網站上下載圖像?
預先感謝您!
我搜索了一下,但沒有得到答案。我試圖使用Python從網站下載一些圖像文件。當網站HTML有圖片的網址,我可以使用類似使用Python下載數據URI
urllib.urlretrieve(pic_url, pic_name)
但是,當它是一個數據的類似
<img src="data:....">
URI我怎樣才能從網站上下載圖像?
預先感謝您!
請看這裏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處理。
謝謝你的迴應。我嘗試使用str.decode('base64','strict')解碼wikipedia示例的「data:image/gif; base64,str」中的字符串。我沒有得到正確的解碼。你能解釋一下你的答案嗎? – user2909590
它的工作原理!非常感謝你! – user2909590