Python批量下载PHP页面所有图片:完整代码和解析
以下是使用Python的requests和BeautifulSoup库来实现批量下载一个PHP页面中的所有img的代码:
import requests
from bs4 import BeautifulSoup
import base64
import os
url = 'http://example.com/page.php' # 替换成目标页面的URL
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
imgs = soup.find_all('img')
for img in imgs:
src = img['src']
if src.startswith('data:image'):
# 如果是base64编码的图片,需要解码
img_data = base64.b64decode(src.split(',')[1])
else:
# 如果是普通的图片url,直接下载
img_response = requests.get(src)
img_data = img_response.content
# 保存图片到本地
img_name = os.path.basename(src)
with open(img_name, 'wb') as f:
f.write(img_data)
这段代码首先使用requests库获取目标页面的HTML代码,然后使用BeautifulSoup库解析HTML代码,找到所有的img标签。接着遍历所有的img标签,判断图片是base64编码还是普通的图片url。如果是base64编码的图片,需要先解码,然后保存到本地;如果是普通的图片url,直接下载并保存到本地。注意,这段代码仅适用于下载图片,如果需要下载其他类型的文件,需要根据实际情况做相应的修改。
原文地址: https://www.cveoy.top/t/topic/nltc 著作权归作者所有。请勿转载和采集!