# install beautifulsoup4
import os
import re
import requests
from bs4 import BeautifulSoup
def IsArrayEmpty(list):
return not list
def DownloadFile(path, url, strFilePath):
try:
response = requests.get(url)
response.raise_for_status()
with open(strFilePath, "wb") as file:
file.write(response.content)
except Exception as e:
print('---------------------------------------------')
print('文件路径:', path)
print('文件下载失败:', url)
print('失败原因:', str(e))
def ParseFile(path):
objFile = open(path, 'r', encoding='utf-8')
strData = objFile.read()
objFile.close()
#html
soup = BeautifulSoup(strData, 'html.parser')
#查找所有的img
strContent = soup.find_all('img')
if IsArrayEmpty(strContent) == False:
for varIndex in strContent:
#打印单个img
#print(varIndex)
#打印属性
href = varIndex['src']
print(href)
#打印文件名
nPos = href.rfind("/")
imageName = href[nPos + 1:]
#print(imageName)
#下载
DownloadFile(path, href, imageName)
def enumerate_folder(folder_path):
for root, dirs, files in os.walk(folder_path):
for file in files:
path = os.path.join(root, file)
ParseFile(path)
for dir in dirs:
pass
enumerate_folder("./")
python 解析本地html, 并下载图片
于 2024-07-27 15:06:37 首次发布