地址:http://www.netbian.com/
可以根据网页分类进行修改
请先自行在目录内创建 美女图片 文件夹
@清欢吖
"""
# 导入 requests 和 etree 模块
import requests
from lxml import etree
# 循环下载75页的图片
for i in range(75):
# 第一页的地址和后面页的地址不同,需要分别处理
if i==0:
url = "http://www.netbian.com/meinv/index.htm"
i +=1
else:
url = 'http://www.netbian.com/meinv/index_' + str(i + 1) + '.htm'
# 设置协议头
headesp = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35'}
# 发送get请求并获取响应且设置编码
resp = requests.get(url,headers=headesp)
resp.encoding = resp.apparent_encoding
# 将响应内容解析为etree对象
xp = etree.HTML(resp.text)
# 获取每页中的图片详情页链接
img_url = xp.xpath("/html/body/div[@class='wrap clearfix']/div[@id='main']/div[@class='list']/ul/li/a/@href")
for n in img_url:
# 根据图片详情页链接再次发送get请求并获取图片地址和名称
resp = requests.get('http://www.netbian.com' + n)
resp.encoding = resp.apparent_encoding
xp = etree.HTML(resp.text)
img_urls = xp.xpath('//div[@class="pic"]/p/a/img/@src')
img_name = xp.xpath('//div[@class="pic"]/p/a/img/@alt')
#循环下载每个图片
for u, n in zip(img_urls, img_name):
print(f'图片名:{n} 地址:{u}')
img_resp = requests.get(u)
with open(f'./美女图片/{n}.jpg', 'wb') as f:
f.write(img_resp.content)