import os
import requests
from lxml import etree
if __name__ == '__main__':
# UA伪装
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.70 Safari/537.36'
}
# 指定url
url = 'https://pic.netbian.com/4kmeinv/'
# 发起请求
response = requests.get(url=url, headers=headers)
# 手动设置响应数据的编码格式
# response.encoding = 'utf-8'
page_text = response.text
# xpath解析标签
tree = etree.HTML(page_text)
div_list = tree.xpath('//div[@class="slist"]//li')
# 判断文件夹
if not os.path.exists('./img'):
os.mkdir('./img')
for div in div_list:
# 解析获取图片地址
img_src = 'https://pic.netbian.com/' + div.xpath('./a/img/@src')[0]
img_alt = div.xpath('./a/b/text()')[0] + '.jpg'
# 通用处理中文乱码的解决方案
img_alt = img_alt.encode('iso-8859-1').decode('gbk')
# print(img_alt, img_src)
# 发起请求
page_img = requests.get(url=img_src, headers=headers).content
# 图片路径
img_path = 'img/' + img_alt
# 保存
with open(img_path, 'wb') as fp:
fp.write(page_img)
print(img_alt, "--下载成功--")
ps:注意中文乱码情况