V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
scusjs
V2EX  ›  分享发现

轮子:提取百度云盘高速下载地址

  •  
  •   scusjs · 2016-12-29 10:44:01 +08:00 · 7595 次点击
    这是一个创建于 2668 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨晚想用百度云盘下个文件,结果 50kb/s 的速度简直受不了。然后就撸了这个使用 PCS API轮子

    可以获取高速的下载地址 //试了迅雷能跑满

    第 1 条附言  ·  2016-12-29 16:25:16 +08:00
    这么多收藏,就没人顺手几个 star 么😂
    第 2 条附言  ·  2016-12-30 09:50:59 +08:00
    不用折腾 Qt 了,-b 参数执行直接调用本地浏览器
    42 条回复    2017-01-04 00:22:12 +08:00
    helloSwift
        1
    helloSwift  
       2016-12-29 10:50:45 +08:00 via iPhone
    待会试试
    tumbzzc
        2
    tumbzzc  
       2016-12-29 10:51:50 +08:00
    以前申请了 pcs api 的真好。。现在都不给申请了
    scusjs
        3
    scusjs  
    OP
       2016-12-29 10:56:29 +08:00
    @tumbzzc github 是个找 key 的好地方
    yoke123
        4
    yoke123  
       2016-12-29 11:12:11 +08:00
    你这个太麻烦了 大部分人都懒
    前段时间有个 V 友自己写了个插件
    https://github.com/XhstormR/BaiduNetdisk-WAP
    yoke123
        5
    yoke123  
       2016-12-29 11:13:54 +08:00
    scusjs
        6
    scusjs  
    OP
       2016-12-29 11:15:49 +08:00
    @yoke123 大文件倒还好。。主要是慢啊😂
    titanium98118
        7
    titanium98118  
       2016-12-29 11:23:47 +08:00
    没有 pcs api...
    wx3571
        8
    wx3571  
       2016-12-29 11:27:29 +08:00
    chrome 打开检查,切换成移动端模式,就可以获取下载链接了。什么插件都不需要
    tyhunter
        9
    tyhunter  
       2016-12-29 11:31:37 +08:00
    现在的 PCS API 限速了
    initdrv
        10
    initdrv  
       2016-12-29 11:33:45 +08:00
    刚测试,可用!感谢 LZ 的无私分享精神!
    initdrv
        11
    initdrv  
       2016-12-29 11:35:13 +08:00
    MDZZ ,回复错了…… 本来是回复 https://www.v2ex.com/t/327317#reply33 这个帖子的,谁知道…… 尴尬!
    scusjs
        12
    scusjs  
    OP
       2016-12-29 12:10:28 +08:00
    @initdrv 😂233333
    scusjs
        13
    scusjs  
    OP
       2016-12-29 12:11:50 +08:00
    @tyhunter 具体限制多少不清楚,但是我这边 4Mbps 左右的带宽平均能到 500 左右
    vizards
        14
    vizards  
       2016-12-29 12:39:42 +08:00
    LZ 没有升级 serria 嘛? PyQt4 被升到 5 了。。
    imn1
        15
    imn1  
       2016-12-29 14:00:45 +08:00
    这方法主要是找到 https://www.问候你老母 pcs.com/rest/2.0/pcs/file?method=batchdownload&app_id=250528 ……
    类似的网址

    266719 是 es 的 id
    250528 是 bdy 的 id
    778750 是 bdy tv 的 id

    之前用某脚本试过, linux/aria2c 用 es 的 id 直接拒绝,应该是还有其他检测;用 250 的 id 速度没什么变化(50kB),但在 downthemall 就能上 700~1000kB ,原因不详

    有几个奇怪的现象
    1.我这里在网页只要多文件下载(服务端自动 zip 那种),就会得到 /rest/2.0 这种 url ,单文件就怎么也得不到
    2.客户端(什么版本都是)下载列表(即使排队等待也是)中只要有图片、视频,速度就会骤降,全部都是压缩文件就比较“正常”
    3.1:00am~12:00pm 速度比其他时间段低一半以上,其他软件都是早上速度好啊,完全一脸懵,搞不懂

    另:可以关注某版本号为 9.9.9.9 的客户端,不要问哪里下的,我回答会被降权的
    hundan
        16
    hundan  
       2016-12-29 14:20:20 +08:00
    库都安装了为什么用不了。。。

    D:\OkMyTools\baiduyun-master\baiduyun-master>pip install Qt.py
    Requirement already satisfied: Qt.py in d:\program files\python2.7\lib\site-packages

    D:\OkMyTools\baiduyun-master\baiduyun-master>pip install requests
    Requirement already satisfied: requests in d:\program files\python2.7\lib\site-packages\requests-2.12.4-py2.7.egg

    D:\OkMyTools\baiduyun-master\baiduyun-master>pip install prettytable
    Requirement already satisfied: prettytable in d:\program files\python2.7\lib\site-packages

    D:\OkMyTools\baiduyun-master\baiduyun-master>python baiduyun.py
    Traceback (most recent call last):
    File "baiduyun.py", line 9, in <module>
    import oauth_ui
    File "D:\OkMyTools\baiduyun-master\baiduyun-master\oauth_ui.py", line 8, in <module>
    from PyQt4.QtWebKit import QWebView
    ImportError: No module named PyQt4.QtWebKit

    D:\OkMyTools\baiduyun-master\baiduyun-master>
    hundan
        17
    hundan  
       2016-12-29 14:22:17 +08:00 via Android   ❤️ 1
    scusjs
        18
    scusjs  
    OP
       2016-12-29 14:44:44 +08:00   ❤️ 1
    @hundan 已更新文档~ Windows 在这个页面下面下载安装 PyQt4 即可 https://riverbankcomputing.com/software/pyqt/download
    wysnylc
        19
    wysnylc  
       2016-12-29 15:02:14 +08:00
    @wx3571 NO,并不可行
    XhstormR
        20
    XhstormR  
       2016-12-29 15:34:20 +08:00 via Android
    @wx3571 一年多以前早就失效了
    scusjs
        21
    scusjs  
    OP
       2016-12-29 16:26:32 +08:00
    @vizards 刚试了下支持 PyQt5 ,发现 Qt5 各种版本组件差别比较大,然后有的又移除了一些东西,然后就放弃了。。。
    echohanyu
        22
    echohanyu  
       2016-12-29 17:05:17 +08:00
    @yoke123 这个实测无用...确实能阻止强制跳转 PC 页面.
    yoke123
        23
    yoke123  
       2016-12-29 17:19:14 +08:00
    @echohanyu 我是 win7 的 可以用 你 mac 的我不知道
    MaoMiao
        24
    MaoMiao  
       2016-12-29 17:48:47 +08:00 via Android
    哈哈哈哈哈哈哈活捉一只萌萌
    wx3571
        25
    wx3571  
       2016-12-29 18:06:11 +08:00
    @XhstormR
    @wysnylc
    刚试了一下,可行
    wysnylc
        26
    wysnylc  
       2016-12-29 18:54:52 +08:00
    @wx3571 直接跳转 PC 端了,你是怎么做的?
    Aidea
        27
    Aidea  
       2016-12-29 19:48:04 +08:00
    环境不会配置,有点尴尬。。
    mingyun
        28
    mingyun  
       2016-12-29 23:06:21 +08:00
    star+1
    bestbug
        29
    bestbug  
       2016-12-29 23:24:57 +08:00 via Android
    为什么不搞个在线的测试程序,输入直接得出结果。
    xiaoz
        30
    xiaoz  
       2016-12-29 23:54:21 +08:00 via iPhone
    @hundan 感谢使用小 z 图床
    free9fw
        31
    free9fw  
       2016-12-30 00:53:04 +08:00
    何必这么麻烦, console 输入: Object.defineProperty(this, 'navigator', {value:{platform:''}}); 即可大文件直接下载
    HFX3389
        32
    HFX3389  
       2016-12-30 01:16:49 +08:00
    不会限速的嘛?
    我昨天下了几部视频,结果今天的速度只有 100KB/S ,有的时候还不到,怀疑百度在服务器设置了限速。
    dtfm
        33
    dtfm  
       2016-12-30 02:02:46 +08:00 via Android
    @HFX3389 百度后台现在对账号计算下载累计净值,进行账户限速,在客户端折腾出花也没用。
    lxjaa
        34
    lxjaa  
       2016-12-30 02:39:32 +08:00 via Android
    @HFX3389 100k 限制很久了吧
    hundan
        35
    hundan  
       2016-12-30 09:27:08 +08:00 via Android
    @xiaoz 居然遇到作者了哈哈哈
    wx3571
        36
    wx3571  
       2016-12-30 09:33:06 +08:00
    @wysnylc 是跳转 pc 端,但是可以直接下载,就能获取到下载链接了
    scusjs
        37
    scusjs  
    OP
       2016-12-30 09:46:36 +08:00
    @Aidea 刚加入了本地浏览器的 oauth2 认证流程,没有 qt 环境执行时直接-b 参数就行。
    realfreesky
        38
    realfreesky  
       2016-12-30 10:53:54 +08:00
    @wx3571 小文件这么干好像可以,大文件好像下载链接还是获取不到
    Aidea
        39
    Aidea  
       2016-12-30 11:45:42 +08:00
    @scusjs Python 和 git 都不熟悉,有点麻烦啊
    /usr/bin/python: can't find '__main__' module in 'baiduyun'
    fffflyfish
        40
    fffflyfish  
       2016-12-30 14:01:00 +08:00
    你没有自己测试下吗?一大堆的问题,各种编码错误,白配了半天环境
    scusjs
        41
    scusjs  
    OP
       2017-01-02 21:59:32 +08:00
    @fffflyfish 之前只在 Mac 上测试了,忘了 Windows 了~现在在 win10+python3 环境下已经测试过了没问题了
    techmoe
        42
    techmoe  
       2017-01-04 00:22:12 +08:00
    百度那边现在已经申请不到 PCS 权限了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5233 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 07:10 · PVG 15:10 · LAX 00:10 · JFK 03:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.