吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 19344|回复: 66
收起左侧

[Python 原创] 一个基于python的 - 百度网盘下载器

  [复制链接]
juedi998 发表于 2017-5-14 00:45
本帖最后由 juedi998 于 2017-5-14 00:46 编辑

大家好啊,貌似好久没发过帖子了,今天心血来潮,写了个百度云盘的下载器,当然我知道论坛里已经有不少啦,但我今天是用python编写的,写得马马虎虎的,但还是分享出来吧,程序目前仅支持公开分享的文件下载,下载同时也提供了转换后的直连,你可以直接复制那个直连到IDM或迅雷等其它下载工具使用,因为百度限速的关系,我本地测试下载速度仅仅只有100多KB左右,还是不稳定的,大的文件迟迟没反应(要崩溃的节奏呀),但用IDM速度溜得上天,所以大家知道啦,另外我说说思路吧:
1、必备工具:
    1.抓包工具(要编写爬虫,这似乎必不可少),我用的是Fiddler,你也可以使用Chrome的开发者工具。
    2.Chrome浏览器 + 油猴插件(可以不选择插件)俗话说得好,有把好的工具,干起活来总能让你感觉事半功倍呀!我是利用了油猴的下载助手里的显示链接找到的接口,当然,这个接口完全可以通过抓包取得,但但,,,有工具你不用你非要造轮子吗?哈哈,
    3.python + pycharm (当然你可以选用其它语言呀,这里只是提供个案例罢了),没有开发工具的话,还玩啥?
2、So....... 我们开始吧,,,,
    1.通过点击下载助手我找到了这么一个接口:https://pan.baidu.com/api/sharedownload?sign={}×tamp={}&bdstoken={}&channel=chunlei&clienttype=0&web=1&app_id=250528&logid={} 该接口用于获取文件真实地址,前面3个参数是必须的,后面的参数是死的,不用管,其中:sign、timestamp、bdstoken都可以在主页面上获取到,最后的logid参数应该是你登录的ID凭据吧,反正我试过不写也没啥问题。
QQ截图20170514000631.png

如图所示,它还需要一堆postData呢,其实也没啥的,因为也能在页面找到呀,但需注意的是,它们的命名方式可不一样哟,比如:primaryid ---》shareid,fid_list ---》fs_id,通过正则就能轻松抓到,另外,值得注意的是,cookies,在post的时候必须带上BAIDUID,其它的可以不要,该ID在百度.caom可以获取到,也就是说要在第一步执行这个请求,取得cookies后就不需要理会了。
1.png

    2.顺便讲一下该接口返回的错误代码的意义,目前我只看到了3个错误代码,你可以调试出更多,我相信,错误码:erron:2 该错误码表示没有请求成功,erron:-20表示请求量多大需要输入验证码,erron:211表示整个页面已经过期需要刷新,我们可以根据这些错误码决定程序的走向,实现智能下载,当然就像前面说的,应该还有很多错误码的,比如非公开的文件,或文件夹,这些返回的状态码都不一致的,大家可以自己挖掘。

    2.png

   3.当短时间內多次访问上面的接口将触发erron:-20的错误,即需要输入验证码,我通过抓包,找到了两个验证码的接口,分别是:https://pan.baidu.com/api/getvcode?prod=pan (后面还有的,但仅仅只是获取Token就不需要后面的参数了,prod是必须的) 另一个是:https://pan.baidu.com/genimage?{}(该接口主要参数为上一个接口取得的Token),该参数将会被api/sharedownload页面需要
3.png
如上图所示,接口返回的是一组json类型的数据,可以通过json解析器转换为json直接索引vcode的值即可。
4.png
取得验证码的token后直接请求验证码图片地址并以流方式写入到文件即可。

   4.填写完验证码后,需要再次请求api/sharedownload页面,这次请求,需带上验证码的参数。
5.png
当你看到服务器返回如上图的所示的页面后,表示你已经成功了,文件的真实链接就在这个json里面,你只需将它提取出来即可,下图是我测试下载的截图,如开始说的那样,度娘限速的厉害,只有100多KB左右的速度,大家完全可以用来转换直连,哈哈,那么教程到此结束,如果您有更好的方案,欢迎留言,非公开分享的版本将在下次更新,注意:本程序基于python3.6开发,请务必安装好相应模块,需要安装的模块有:requests、PIL、tqdm, 其中PIL模块在3.6中已经集成。
QQ截图20170513231322.png


源码站内下载: baiduSipers.rar (9.65 KB, 下载次数: 164)
度娘盘免CB下载通道:http://pan.baidu.com/s/1i5Do3Q1 密码: fn2g
如果觉得本方案对您有用,希望大家打赏点CB哦!哈哈哈。。。。

免费评分

参与人数 25吾爱币 +23 热心值 +24 收起 理由
ertok + 1 + 1 用心讨论,共获提升!
zuxy007 + 1 谢谢@Thanks!
江海渔生 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
beatone + 1 + 1 已答复!
诸葛恐明 + 1 + 1 评分取走!
sirlowlam + 1 热心回复!
ssdbmm + 1 + 1 谢谢@Thanks!
Samaelx + 1 + 1 已答复!
大头鱼 + 1 + 1 谢谢@Thanks!
qini + 1 + 1 谢谢@Thanks!
X少年 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
harry721 + 1 + 1 谢谢@Thanks!
wrmfw + 1 + 1 已答复!
xineohp + 2 + 1 用心讨论,共获提升!
wangxp + 1 + 1 谢谢@Thanks!
wxc6688 + 1 + 1 我很赞同!
林海山河 + 1 + 1 我很赞同!
雫Hao洋洋 + 1 + 1 热心回复!
jiaxcheng + 1 + 1 谢谢@Thanks!网盘被限速,只能靠这个了
管大侠 + 1 谢谢@Thanks!
肥胖的巴豆 + 1 + 1 热心回复!
tunis + 1 + 1 用心讨论,共获提升!
nqawen + 1 + 1 谢谢@Thanks!
xiaoxinjian + 1 + 1 我很赞同!
GrandStar + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| juedi998 发表于 2017-5-15 10:07
夜袭少妇寨 发表于 2017-5-14 23:05
谢谢分享 有油候加idm够了 希望继续更新 哈哈

是的,有油猴 + idm就够了,我分享这个是为了让大家知道如何实现的过程,哈哈,这种软件网上已经泛滥了,但没几个人会告诉你哪来的结果{:1_912:}
 楼主| juedi998 发表于 2017-5-15 18:42
zhashia 发表于 2017-5-15 18:19
有些用油猴解析出来了下载地址但是那个地址是空的怎么解决

首先你确定要下载的文件是存在的,然后,据我所知,度娘下载的链接应该2-3个接口,其中我提供的这个接口用于下载单个文件的,诸如zip、图片、视频、音乐等都能调用这个接口下载,文件夹则为另一个接口,接口是固定的,不需要按照油猴返回的。
t711s 发表于 2017-5-14 00:59
铁血捕头 发表于 2017-5-14 01:53 来自手机
辛苦了  谢谢分享~~
曦云 发表于 2017-5-14 02:33
这个有绕过限速吗
dszsdyx 发表于 2017-5-14 05:56
这个我的研究研究,谢谢
w1e2i3 发表于 2017-5-14 06:06
辛苦了  谢谢分享~~
枫叶荻花 发表于 2017-5-14 06:30
辛苦了!看着这么长,有点眼花缭乱了
天天涨停天天盈 发表于 2017-5-14 06:33
看着蛮复杂  能做个下载工具吗。。。。感谢
谁折南枝傍小丛 发表于 2017-5-14 08:05
感谢分享。
头像被屏蔽
liujinsuo90 发表于 2017-5-14 08:17
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 08:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表