1.检查本机是否安装python环境
python --version
2.安装所需库:该代码使用了 requests 库。如果你还没有安装,可以使用以下命令安装:
pip install requests
3.创建 Python 文件: 打开文本编辑器(如 VS Code、记事本),将代码复制粘贴进去,并保存为 download_images.py。
4.在终端中运行: 打开终端,导航到保存文件的目录,并运行以下命令:
python download_images.py
5.查看下载的图片: 代码执行后,检查当前目录下的 彼岸图网图片获取 文件夹,你应该能看到下载的图片。
附上源码
import requests
import re
import os
# 清理文件名的函数
def clean_filename(name):
"""
替换文件名中的不合法字符为下划线。
这些字符包括:<, >, :, ", /, \, |, ?, *
"""
return re.sub(r'[<>:"/\\|?*]', '_', name) # 使用正则表达式进行替换
url = "https://pic.netbian.com/" # 目标网页的 URL
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36"
} # 请求头,模拟浏览器访问
# 发送 GET 请求获取网页内容
response = requests.get(url=url, headers=headers)
response.encoding = response.apparent_encoding # 设置编码格式
# 正则表达式:匹配图片链接和图片名称
parr = re.compile(r'src="(/u.*?\.jpg)".*?alt="(.*?)"')
image = re.findall(parr, response.text) # 提取所有匹配的链接和名称
path = "彼岸图网图片获取" # 创建的文件夹名称
if not os.path.isdir(path): # 判断文件夹是否存在
os.mkdir(path) # 如果不存在,则创建文件夹
# 遍历提取到的图片链接和名称
for i in image:
link = i[0] # 获取图片链接
name = clean_filename(i[1]) # 获取并清理图片名称
try:
# 以二进制写入模式打开文件
with open(os.path.join(path, f"{name}.jpg"), "wb") as img:
res = requests.get("https://pic.netbian.com" + link) # 发送请求获取图片
res.raise_for_status() # 检查请求是否成功
img.write(res.content) # 将图片内容写入文件
print(f"{name}.jpg 获取成功······") # 输出成功信息
except Exception as e:
print(f"获取 {name}.jpg 时出错: {e}") # 输出错误信息
备注:
正则表达式解析
-
r'src="(/u.*?\.jpg)"
:src="
:匹配字符串src="
,这是 HTML 中 img 标签的属性,表示图片的链接。(/u.*?\.jpg)
:/u
:匹配以/u
开头的字符串,通常表示图片的路径。.*?
:表示匹配任意字符(除了换行符),零次或多次。?
使其变为非贪婪匹配,即尽可能少地匹配字符。\.jpg
:匹配以.jpg
结尾的字符串,前面的\
是转义符,表示字面上的点号。
-
.*?alt="(.*?)"
:.*?
:非贪婪匹配,表示在alt="
之前可能有任意字符。alt="
:匹配字符串alt="
,这是 HTML 中 img 标签的另一个属性,表示图片的描述文本。(.*?)
:- 这部分匹配
alt
属性中的内容,非贪婪匹配,尽可能少地匹配字符。 - 圆括号
()
表示一个捕获组,捕获的内容可以在后续处理中使用。
- 这部分匹配