推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
rrubick
V2EX  ›  Python

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

  •  
  •   rrubick · Aug 19, 2017 · 16817 views
    This topic created in 3363 days ago, the information mentioned may be changed or developed.

    刚接触 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()
    
    37 replies  •  2017-08-21 19:37:41 +08:00
    dzxx36gyy
    dzxx36gyy
    Aug 19, 2017 via Android❤️2
    1
    我觉得你后台跑个 aria2 把链接用 rpc 添加任务得了……
    UnisandK
    UnisandK
    Aug 19, 2017❤️3
    2
    你这么个问法我觉得磁力和电驴你要自己写完实现是不大可能了。。直接调用其他下载工具吧
    expy
    expy
    Aug 19, 2017❤️1
    3
    有多大硬盘存?那些爬虫站一般也就存个链接吧。
    15015613
    15015613
    Aug 19, 2017 via Android❤️1
    4
    磁力链的话好办,直接调用 transmission (或者 arias)下载就可以了。
    电驴,不知道,你可以看看 amule 什么的客户端有没有什么 API
    迅雷,喵喵喵~~~

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

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

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

    Python 可以万能,但你不是万能的啊老铁
    bucky
    bucky
    Aug 20, 2017❤️1
    13
    要不是大家提醒你差点写出个下载软件来
    aaronzjw
    aaronzjw
    Aug 20, 2017❤️1
    14
    如果不是一些奇怪的视频,就用 you-get 下载吧
    NoAnyLove
    NoAnyLove
    Aug 20, 2017❤️1
    15
    这种时候,你只需要遵循 KISS 原则就好了,有现成的东西当然就是拿来用咯
    FanWall
    FanWall
    Aug 20, 2017 via Android❤️1
    16
    很多 sdk 的
    expy
    expy
    Aug 20, 2017❤️1
    17
    @magic3584 BT 开源实现比较多,比如 libtorrent 库 http://www.libtorrent.org/python_binding.html
    emule 只能用客服端了,emule/amule/MLDonkey.
    迅雷死链的话只能用它家离线。
    20015jjw
    20015jjw
    Aug 20, 2017 via Android❤️1
    18
    我进来前以为是个大牛...
    rrubick
    rrubick
    OP
    Aug 20, 2017
    19
    @chinvo #11 我是很愿意,可惜没能力。。。
    rrubick
    rrubick
    OP
    Aug 20, 2017
    20
    @UnisandK #12 尽管有点扎心,但是不会的才要学
    rrubick
    rrubick
    OP
    Aug 20, 2017
    21
    @20015jjw vely sorry,让您失望了,sigh
    OpenJerry
    OpenJerry
    Aug 20, 2017❤️1
    22
    我下载图片都是直接 os.system('aria2c xxx') 是不是太弱了
    Loyalsoldier
    Loyalsoldier
    Aug 20, 2017❤️1
    23
    是 very。
    而且没有 very sorry 的说法,只有 really sorry
    Jackeriss
    Jackeriss
    Aug 20, 2017 via iPhone❤️1
    24
    迅雷有添加任务的 API
    msg7086
    msg7086
    Aug 20, 2017❤️1
    25
    @Loyalsoldier vely 可能是印度人的口音……
    sola97
    sola97
    Aug 20, 2017❤️1
    26
    下载图片不如 wget -i
    rrubick
    rrubick
    OP
    Aug 20, 2017
    27
    @OpenJerry 你是认真的?
    rrubick
    rrubick
    OP
    Aug 20, 2017
    28
    @Loyalsoldier @msg7086 You get it!
    rrubick
    rrubick
    OP
    Aug 20, 2017
    29
    @Jackeriss #24 python 可以用吗?没见官方给出 demo
    rrubick
    rrubick
    OP
    Aug 20, 2017
    30
    @sola97 #26 很强大。thx ~
    yangjiegang
    yangjiegang
    Aug 20, 2017
    31
    还是调用第三方软件吧省心
    Jackeriss
    Jackeriss
    Aug 20, 2017
    32
    @magic3584 可以把添加任务的 VBS 代码写入一个 .vbs 文件,然后用 Python 执行这个文件。
    rrubick
    rrubick
    OP
    Aug 20, 2017
    33
    @Jackeriss #32 vbs? 额。。。新东西。。。
    popbones
    popbones
    Aug 21, 2017
    34
    参考一下 Sonarr 的设计吧
    popbones
    popbones
    Aug 21, 2017❤️1
    35
    非要 Python 的话,去看一下 Sick Beard
    rrubick
    rrubick
    OP
    Aug 21, 2017
    36
    @popbones #35 thx,我试试
    rrubick
    rrubick
    OP
    Aug 21, 2017
    37
    @dzxx36gyy 大佬能详细说下吗?试了 1 天没搞定。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1444 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 22:33 · PVG 06:33 · LAX 14:33 · JFK 17:33
    ♥ Do have faith in what you're doing.