如果使用BeautifulSoup获取到的img src是base64而不是实际链接,可以使用以下代码示例将base64编码转换为实际链接:
from bs4 import BeautifulSoup
import base64
# 假设获取到的HTML代码保存在变量html中
html = """
"""
# 使用BeautifulSoup解析HTML代码
soup = BeautifulSoup(html, 'html.parser')
# 获取img标签
img = soup.find('img')
# 获取base64编码
base64_data = img['src'].split(',')[1]
# 将base64编码转换为实际链接
image_data = base64.b64decode(base64_data)
# 保存图片到本地
with open('image.png', 'wb') as f:
f.write(image_data)
# 更新img标签的src属性为实际链接
img['src'] = 'image.png'
# 打印更新后的HTML代码
print(soup.prettify())
上述代码示例中,首先使用BeautifulSoup解析HTML代码。然后,通过使用split(',')函数将base64编码分割成数据类型和实际数据两部分,获取到实际数据的部分。接下来,使用base64.b64decode()函数将base64编码解码为二进制数据。最后,将解码后的二进制数据保存到本地,并更新img标签的src属性为实际链接。最后,打印更新后的HTML代码。