Python 怎么下载磁力/电驴/迅雷的资源

2017-08-19 18:00:36 +08:00
 magic3584

刚接触 python 的菜鸟一枚,想写个爬虫批量下载电影,但是用下载图片的方法没办法下载电影了。 求指点~~~ 另外多线程的话应该怎么搞。。。

        for movie in movies:
            print(movie.title)
            resource = urllib.request.urlopen(movie.downloadUrl)
            movieData = open(movie.title, 'wb')
            movieData.write(resource.read())
            movieData.close()
15324 次点击
所在节点    Python
37 条回复
dzxx36gyy
2017-08-19 18:17:49 +08:00
我觉得你后台跑个 aria2 把链接用 rpc 添加任务得了……
UnisandK
2017-08-19 18:19:07 +08:00
你这么个问法我觉得磁力和电驴你要自己写完实现是不大可能了。。直接调用其他下载工具吧
expy
2017-08-19 18:26:40 +08:00
有多大硬盘存?那些爬虫站一般也就存个链接吧。
15015613
2017-08-19 18:28:33 +08:00
磁力链的话好办,直接调用 transmission (或者 arias)下载就可以了。
电驴,不知道,你可以看看 amule 什么的客户端有没有什么 API
迅雷,喵喵喵~~~

另外,多线程,一头雾水。
本来便是 p2p,没有固定的资源,不存在多不多线程的问题。
chinvo
2017-08-19 18:29:21 +08:00
磁链和电驴都能直接 aria2,迅雷的链接需要解码成 http/ftp 链接再交给 aria2

aria 有 JSONRPC ( HTTP ) 接口
chinvo
2017-08-19 18:30:46 +08:00
@chinvo #5 搞错了,aria2 不支持 ed2k,ed2k 你得试试能不能用 amule 之类的
magic3584
2017-08-19 21:44:44 +08:00
@chinvo @dzxx36gyy aria2 没弄过,我去找找,thx ~
magic3584
2017-08-19 21:45:23 +08:00
@UnisandK #2,哈哈,这不是以为 python 是万能的。。。
magic3584
2017-08-19 21:46:23 +08:00
@expy #3 下一个网页里的电影就够了。。。SSD 太贵了。。。
magic3584
2017-08-19 21:47:11 +08:00
@15015613 #4 vely 详细,thx,我琢磨琢磨
chinvo
2017-08-19 22:42:23 +08:00
@magic3584 #8 如果你愿意自己实现,任何一门语言都能接入任何一个 p2p 网络,反正 protocol 都是开放标准。
UnisandK
2017-08-19 23:29:22 +08:00
@magic3584 是这样,磁力( BT )和电驴是两种不同的 P2P 下载协议,不像 HTTP 协议那样你一句就能拉下来,你得用 Python 分别实现两种协议的客户端才行

看你帖子的内容感觉对俩协议都一无所知,感觉你真写不出来两个完整的客户端实现

Python 可以万能,但你不是万能的啊老铁
bucky
2017-08-20 00:01:42 +08:00
要不是大家提醒你差点写出个下载软件来
aaronzjw
2017-08-20 00:07:30 +08:00
如果不是一些奇怪的视频,就用 you-get 下载吧
NoAnyLove
2017-08-20 00:10:06 +08:00
这种时候,你只需要遵循 KISS 原则就好了,有现成的东西当然就是拿来用咯
FanWall
2017-08-20 00:10:08 +08:00
很多 sdk 的
expy
2017-08-20 00:18:40 +08:00
@magic3584 BT 开源实现比较多,比如 libtorrent 库 http://www.libtorrent.org/python_binding.html
emule 只能用客服端了,emule/amule/MLDonkey.
迅雷死链的话只能用它家离线。
20015jjw
2017-08-20 00:36:52 +08:00
我进来前以为是个大牛...
magic3584
2017-08-20 08:01:07 +08:00
@chinvo #11 我是很愿意,可惜没能力。。。
magic3584
2017-08-20 08:01:50 +08:00
@UnisandK #12 尽管有点扎心,但是不会的才要学

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/384217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX