import requests
import json
import jsonpath
import urllib
'''
糖堆动态加载 无法直接找出翻页规律
在 XHR 中 向下找(页面下滑) 发现 Request_URL 的 参数 里 start的值会一直递增 js 文件
经过 js 美化后 发现图片的 url 是 键名为 path 的值
'''
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
}
url = 'https://www.duitang.com/napi/blog/list/by_search/?kw={}=&start={}'
lable = "校花"
lable = urllib.parse.quote(lable) # 转码字符
name = 1
for index in range(0,2400,24):
link = url.format(lable,index)
# 选词填空 参数 与 翻页 ,也就是 XHR 中的 json 文件
resp = requests.get(link,headers=headers).text # 网页文本
html = json.loads(resp) # 数据转换 json字符串 转转化为 python 可以交互的对象
imgs = jsonpath.jsonpath(html,"$..path")
# $ 表示根目录下开始找 .. 无论多远找到为名 path的数据并以列表形式返回
for img in imgs:
con = requests.get(img)
print("正在保存{}张图片".format(name))
with open(r'C:\Users\DELL\Desktop\python_wd\mig\糖堆\{}.jpg'.format(name),'wb')as f:
f.write(con.content)
name += 1
运行代码数据部分截图:
————————END