上完整代码:
import requests
import time
from lxml import etree
# 请求的路径
url = 'http://desk.zol.com.cn/dongman/1920x1080/'
# 这里是你要保存的路径位置 前面的r 表示这段不转义
path = r"F:\图片"
# 请求头
headers = {"Referer": "Referer: http://desk.zol.com.cn/dongman/1920x1080/",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36", }
headers2 = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0", }
# TODO 获取到Html页面进行解析
def getHtml():
# 发送请求
resq = requests.get(url, headers=headers)
# 显示请求是否成功
print(resq)
# 解析请求后获得的页面
html = etree.HTML(resq.text)
# 获取a标签下进入高清图页面的url
hrefs = html.xpath('.//a[@class="pic"]/@href')
# TODO 进入更深一层获取图片 高清图片
for i in range(1, len(hrefs)):
# 请求
resqt = requests.get("https://desk.zol.com.cn" + hrefs[i], headers=headers)
# 解析
htmlt = etree.HTML(resqt.text)
srct = htmlt.xpath('.//img[@id="bigImg"]/@src')
# 截图片名称
imgname = srct[0].split('/')[-1]
# 根据url获取图片
img = requests.get(srct[0], headers=headers2)
# 执行写入图片到文件
with open(path + "\\" + imgname, "ab") as file:
file.write(img.content)
# 打印爬取的图片
print(img, imgname)
if __name__ == "__main__":
getHtml()
稍微解压一下,其实就是分为两层,第一层解析首页页面的分页当中的超链接,获取到进入高清图页面的url ,在进入循环,去解析它获取到高清图的下载地址,最后下载保存下来即可,大家有兴趣可以结合我的文章和上面的文章去完成分页的高清图爬取,相信对你的python技术会有很大的帮助,最后学学技术就行,切勿恶意爬取页面!切勿恶意爬取页面!切勿恶意爬取页面!