python 爬取data:image/png;base64图片并存储
时间: 2024-05-18 10:11:18 浏览: 160
首先,我们需要用Python进行网页爬取,找到包含data:image/png;base64格式图片的标签。可以使用BeautifulSoup库来解析网页,并使用find方法找到img标签中class为comicimg的元素,然后获取其src属性,即为图片数据的base64编码字符串。
接下来,我们需要将base64编码的字符串解码,并保存为图片文件。可以使用base64库的b64decode方法将字符串解码为二进制数据。然后,我们可以将解码后的数据写入文件中。
请注意,有时候导出来的图片可能是空白的,这可能是因为解码后的数据不正确,或者图片本身就是空白的。在存储图片之前,可以尝试将解码后的数据进行保存并查看,以确保数据正确。
下面是一个示例代码,可以实现爬取data:image/png;base64格式图片并保存的功能:
```python
import requests
import base64
# 发送请求获取网页内容
url = 'http://example.com' # 替换为目标网页的URL
response = requests.get(url)
html = response.text
# 解析网页内容
from bs4 import BeautifulSoup
bs = BeautifulSoup(html, 'html.parser')
# 获取图片数据的base64编码字符串
strings = str(bs.find(name="img", attrs={"class": "comicimg"}).get('src'))
# 解码base64编码的字符串
head, encode = strings.split(',', 1)
image_data = base64.b64decode(encode)
# 将解码后的数据保存为图片文件
with open('image.png', 'wb') as f:
f.write(image_data)
```
以上代码可以爬取指定URL的网页内容,并查找class为comicimg的img标签,获取其中的图片数据。然后将图片数据解码并保存为image.png文件。请注意,需要将代码中的url替换为你要爬取的网页的URL,以及根据需要修改保存的文件名。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [python爬取图片遇见src乱码: data:image/png;base64](https://blog.csdn.net/weixin_39834780/article/details/114445179)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文