【小方法】python爬取base64网络图片

问题场景:

在这里插入图片描述
这种图片地址类型,如果用request直接去请求是得不到二进制数据的。
这种需求还是比较常见的,我每次都是去百度,在csdn中去找,这次记录下来,以后也方便自己。

代码解析:

import base64
import re

def analysis_base64(src):
    result = re.search("data:image/(?P<ext>.*?);base64,(?P<data>.*)", src, re.DOTALL)
    if result:
        ext = result.groupdict().get("ext")
        data = result.groupdict().get("data")
    else:
        raise Exception("Do not parse!")
    img = base64.urlsafe_b64decode(data)
    return img
  1. 导入base64库和re库
  2. 通过re.search方法将图片类型和数据拿出来
  3. 用base64.urlsafe_b64decode方法进行解码,就可以直接拿到数据流
要在Python爬取data:image/png;base64图片,你可以使用以下步骤: 1. 导入所需的库,包括requests、base64和PIL(Python Imaging Library)。 2. 使用requests库发送HTTP请求,获取包含base64图片数据的响应。 3. 从响应中提取出base64图片数据。 4. 使用base64库解图片数据。 5. 将解后的图片数据转换为PIL图像对象。 6. 可选:对图像进行进一步处理或保存。 下面是一个示例代,演示了如何在Python爬取data:image/png;base64图片: ```python import requests import base64 from PIL import Image from io import BytesIO # 发送HTTP请求获取响应 response = requests.get("图片URL") # 提取base64图片数据 image_data = response.content.split(b";base64,")[1] # 解图片数据 decoded_image_data = base64.b64decode(image_data) # 将解后的图片数据转换为PIL图像对象 image = Image.open(BytesIO(decoded_image_data)) # 可选:对图像进行进一步处理或保存 image.show() ``` 请将"图片URL"替换为你需要爬取的data:image/png;base64图片的URL。这样,你就可以成功地在Python爬取并处理data:image/png;base64图片了。<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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值