Python实战:爬取网页图片
'''
功能:爬取网页图片
作者:华卫
日期:2024年9月26日
'''
import requests
from lxml import etree
# 定义网页地址
url = 'https://pic.netbian.com/4kfengjing/'
# 定义headers
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'
}
# 发送请求,获取网页内容
response = requests.get(url, headers=headers)
content = response.content.decode('gbk') # 根据网页编码方式解码,这里假设为gbk
# 解析网页内容
html = etree.HTML(content)
# 使用XPath提取所有图片链接
img_elements = html.xpath("//img/@src")
# 下载并保存图片
for img_src in img_elements:
# 构建完整的图片URL
img_url = 'https://pic.netbian.com' + img_src if not img_src.startswith('http') else img_src
# 获取图片内容
img_response = requests.get(img_url, headers=headers)
img_content = img_response.content
# 构建图片标题
img_title = img_src.split('/')[-1]
# 保存图片到本地
with open('images/%s.jpg' % img_title, 'wb') as f:
f.write(img_content)
print('图片[{}]下载并保存成功~'.format(img_title))