requests下载文库会员专享ppt

絮叨一下

今天姑娘想要下载个ppt,但是没有会员,便叫我可不可以安排安排
经过一波花里胡少的分析发现,虽然不能下载原文件但是可以获取到图片.
但是声明一下仅供自己玩玩就行了.

分析

在这里插入图片描述
F12–network 然后刷新一下页面,发现请求

在这里插入图片描述
在这里插入图片描述
zoom的值就是图片的地址

然后看一下url

https://wenku.baidu.com/browse/getbcsurl?doc_id=78c2adad77a20029bd64783e0912a21614797f93&pn=1&rn=99999&type=ppt&callback=jQuery110109764992988865697_1592401197335&_=1592401197336

然后看一下啊
&_=1592401197336:时间戳
&callback=jQuery110109764992988865697_1592401197335:返回函数
&type=ppt:类型

callback可以为空这样返回的json数据就是列表,没有其他多余的数据

开撸

url = 'https://wenku.baidu.com/browse/getbcsurl?doc_id=c6e27fa16394dd88d0d233d4b14e852458fb392d&pn=1&rn=99999&type=ppt&callback=&_={0}'
# url地址
time = int(time.time()*1000)
# 时间戳
headers = {
    'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36'
}
# 请求头
response = requests.get(url=url.format(time)).json()
# 获取数据

看一下返回的数据
在这里插入图片描述

然后就可以下载图片了

for url in response:
    img_url =  url["zoom"]
    img_name = img_url.split('-')[-1]
    # 进行分割url进行图片的命名
    img = requests.get(img_url)
    with open(img_name+'.png','wb') as f:
        f.write(img.content)

然后稍等片刻

在这里插入图片描述
在这里插入图片描述

写给看到最后的你

朋友,感谢你看到了最后,新手报道,技术不成熟的地方请多多指点,感谢!

公众号:Linux下撸python
期待和你再次相遇
愿你学的愉快

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_48486617/article/details/106818902