用aMule下载一些verycd的资源,一般都是复制了链接,直接用aMule下载,或者使用ed2k命令进行下载。但是名称中的中文部分,一直都是乱码。以前一直都用手工修改名称,或者在找到资源后去根据资源详情再选用资源的相应名称保存。
这些个方法都比较笨。最近才知道这是URL解码的问题,Python自带了URL解码的库,就写个脚本试试了,将URL解码后,调用系统的ed2k命令加入下载链接,测试通过。代码很简单:
1 2 3 4 5 6 7 8 9 10 | #!/usr/bin/env python from urllib import unquote from os import system from sys import argv if __name__=="__main__": argv.pop(0) for res in argv: system("ed2k '%s'" %(unquote(res))) |
其中,如果用Python 3,第一个import应该是:
from urllib.parse import unquote
并且由于ed2k链接中含有”|”字符,会被shell解释成管道符号,会引起错误,应该用单引号讲要下载的ed2k链接引起来才可以。
比如:
amule_down.py 'ed2k://...........'
这样的命令即可,应该可以用在关联浏览器链接的命令中,不过我都是自己手工复制的,还没有实验过直接通过关联浏览器链接类型自动执行的效果。
ps: wordpress怎么总是要把标题中单词的第一个字母大写,”aMule”总是被自作聪明的转换成”AMule”而且我不知道如何改,到底是wordpress的设置问题还是主题的原因?希望谁知道,还不吝赐教……
大写的问题应该是WP的一个设置。
什么地方设置?我没找到~
我就用Chrome和IE8的时候是大写,Opera和Firefox小写……
太诡异了……