1
yakiang 2014-06-02 11:01:12 +08:00 2
|
3
PeterD 2014-06-02 11:41:55 +08:00 3
|
4
inee 2014-06-02 12:30:28 +08:00 via Android
貌似之前的可以自定义转到自己网址的方法被封了
|
7
PeterD 2014-06-02 12:52:41 +08:00
@napretep 如果你只是要下载文件,只需要直接用pan.baidu.com.py就可。
--------------- 另外下载原理也简单: 用pan.baidu.com的api 1. 用api调取文件list,得到fs_id 2. 计算sign -- 见def _get_dsign(self): 3. 用api调取文件的dlink 4. 下载请求的头中要有 Referer:http://pan.baidu.com/disk/home --------------- 具体的看代码吧。 |
9
napretep OP @inee 这个听起来太高端了、、、我目前会的操作性知识有:使用Python3的re模块的search、findall、split、compile,基本的Python语法,urllib.Request模块的URLopen、FancyURLopener.retrieve。
背景知识有:HTTP协议的header部分,能阅读简单的html、js代码,编码转换知识,正则表达式。 别的就不行了,同类型的知识可能可以百度自学,不同类型的可能就要跨越一下障碍了。。 |
10
inee 2014-06-02 13:17:26 +08:00 via Android
|
12
napretep OP @PeterD
系统说我回复太过频繁。。是不是可以通过清除COOKIES来避免这条警告。 我名字结尾带pan,有女生说我像Peterpan,我就改了个Peterpan,但这个ID根本注册不到了好么,于是就变成了napretep。 你说的那些,我还得再研究研究,API、dlink、fs_id什么的我都不懂,还需要努力,有问题再来请教! |
13
PeterD 2014-06-02 14:36:05 +08:00
@napretep "系统说我回复太过频繁" 是什么意思? 我没有遇到过,贴出错误信息看看.
------------- 关于api,你可以看看 https://baidupcs.readthedocs.org/en/latest/ |
14
PeterD 2014-06-02 14:43:43 +08:00
@napretep 对不起,发错了。https://baidupcs.readthedocs.org/en/latest/ 是要申请access_token的,并且只能对/apps目录操作。
---------- 看这个 http://baidupcsapi.readthedocs.org/zh_CN/latest/ ,它可以对所有网盘文件操作。 |
15
napretep OP |
16
PeterD 2014-06-03 12:21:56 +08:00
@napretep windows的cmd.exe默认的是gbk编码,pan.baidu.com.py主要是为linux写的,用的是utf8编码作为输出,所以不能在cmd.exe下执行pan.baidu.com.py,不然会出错。
你试试 https://github.com/babun/babun,安装后在%USER_HOME%\.babun中双击运行babun,在其中运行pan.baidu.com.py 模块的话, 把 https://github.com/kennethreitz/requests/archive/master.zip 中的 requests文件夹 和 https://github.com/sigmavirus24/requests-toolbelt/archive/master.zip 中的 requests-toolbelt文件夹 复制到pan.baidu.com.py的文件夹即可。 再在babun中cd到pan.baidu.com.py的文件夹,运行其即可。如果你知道 alias, 则可将alias bp='python2 /path/to/pan.badiu.com.py'写入 ~/.oh-my-zsh/custom/example.zsh 参考 https://github.com/PeterDing/iScript#pan.baidu.com.py 使用。 ------------------- 如果你不想折腾,安装个百度网盘客户端更方便。 |
17
napretep OP @PeterD 应该不是编码问题,错误提示是:
AttributeError: 'module' object has no attribute 'SIGBUS' |
19
napretep OP @PeterD
Traceback (most recent call last): File "C:\Python27\1\requests-toolbelt-master\iScript-master\pan.baidu.com.py", line 1358, in <module> main(argv) File "C:\Python27\1\requests-toolbelt-master\iScript-master\pan.baidu.com.py", line 1190, in main signal.signal(signal.SIGBUS, sighandler) AttributeError: 'module' object has no attribute 'SIGBUS' |
20
PeterD 2014-06-03 13:38:13 +08:00
@napretep python for windows 的signal模块不支持很多操作,其中就没有signal.SIGBUS
我在win7上用babun中python就没问题,因为这个python是Cygwin中的。 windows上,不在babun中,pan.baidu.com.py是不能运行的。 |
21
PeterD 2014-06-03 13:51:09 +08:00
|
22
napretep OP |
23
PeterD 2014-06-03 17:24:07 +08:00
@napretep 不需要这样。
babun 安装方法见 https://github.com/babun/babun#installation """ Installation Just download the [dist file](http://projects.reficio.org/babun/babun-dist.zip), unzip it and run the install.bat script. After a few minutes babun starts automatically. The application will be installed to the %USER_HOME%\.babun directory. """ ------- 1. 下载 http://projects.reficio.org/babun/babun-dist.zip 2. 解压 3. 运行 install.bat ------- %USER_HOME%是你一打开cmd.exe所显示的路径 |
24
napretep OP @PeterD
安装完了,肥肠不好意思= = 又来麻烦你了 这次的问题是乱码,我打开babun.bat打算输入help命令查询运行Python程序的方法,但是发现除了左边一侧的命令是英文的,右边一侧的解释全是乱码,根本看不懂,该如何解决呢? 是不是编码不一致的问题?应该在哪里解决? 还有问题就是如何运行你的Python程序?通过什么命令? |
25
napretep OP @PeterD
经过不断百度谷歌,已经能够通过这个shell运行Python程序了(其实还有部分关于babun本身的编码问题仍未解决) 但是程序运行仍然报错,list元素溢出: Traceback (most recent call last): File "c:\babun-master\pan.baidu.com.py", line 1358, in <module> main(argv) File "c:\babun-master\pan.baidu.com.py", line 1235, in main comd = argv[1] IndexError: list index out of range |
26
napretep OP @PeterD
OK 现在的情况是这样: { ~ } » python c:\\babun-master\\pan.baidu.com.py "pan.baidu.com/s/1pJCx44z" ~ 1 ['c:\\babun-master\\pan.baidu.com.py', 'pan.baidu.com/s/1pJCx44z'] !! 命令错误 这里参数传递有什么要求? |
28
PeterD 2014-06-06 20:31:15 +08:00
|
29
napretep OP @PeterD
python c:\\down\\pan.baidu.com.py d 'http://pan.baidu.com/share/link?shareid=540994448&uk=943277605' Traceback (most recent call last): File "c:\down\pan.baidu.com.py", line 1358, in <module> main(argv) File "c:\down\pan.baidu.com.py", line 1268, in main x.do() File "c:\down\pan.baidu.com.py", line 1178, in do self.get_params() File "c:\down\pan.baidu.com.py", line 1114, in get_params "bdstoken": p.group(2), AttributeError: 'NoneType' object has no attribute 'group' 最近在做一个将必应搜索百度网盘结果做成list的小程序和你的程序接合,今天完工,准备接一下你的程序时,发现又有问题,求解决。 |
30
PeterD 2014-06-11 21:42:37 +08:00
|