`
crazier9527
  • 浏览: 1008711 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Python版Linux 下的迅雷

阅读更多
Linux 下该不该有迅雷,这个问题一直存在分歧,在此也不予讨论。不过,迅雷抗死链的作用是巨大的,这点是不容置疑的,很多人确实用得着。
 
 
 
 

有需求就有市场,可可熊大侠不是写过一个
 
pythunder 么?干嘛不用这个下载呢?于是就有了下面的程序……
#!/usr/bin/env python

import os, sys, urllib

def usage():
    print """Usage: python tharia2.py [OPTIONS] URL

OPTIONS: As same as options of aria2c"""

def get_url_list(url, listpath):
    if not os.path.exists(listpath):
        print "Getting URL list, please wait..."
        f = urllib.urlopen("http://cocobear.info/demo/pythunder/?url=%s" % url)
        lst = open(listpath, "w+")
        lst.writelines(f.readlines())
        f.close
        lst.seek(0)
    else:
        print "Found existing url list: ", listpath
        lst = open(listpath)

    url_list = [line[:-1] for line in lst]
    lst.close()
    print "Recieved %d url(s)." % len(url_list)
    return " ".join(url_list)

def download(url):
    for prefix in (r"http://", r"https://", r"ftp://"):
        if url.startswith(prefix):
            break
    else:
        print "Invalid URL: %s" % url
        exit()

    listdir = os.path.expanduser("~/.tharia2/list/")
    listfile = os.path.split(url)[-1] + ".list"
    if not os.path.exists(listdir):
        os.makedirs(listdir)
    listpath = os.path.join(listdir, listfile)

    url_list = get_url_list(url, listpath)
    cmd = " ".join(("aria2c -c", " ".join(sys.argv[1:-1]), url_list))
    print "Executing command: %s" % cmd
    if not os.system(cmd):
        os.remove(listpath)

if __name__ == "__main__":
    if len(sys.argv) > 1:
        download(sys.argv[-1])
    else:
        usage()

 
 

很简单的一个脚本,呵呵,参数和 aria2 是一样的,区别只在于对于 url 的处理(暂时 url 只能放在命令行的最后)。
比如下载 http://www.dmato.com/DownloadFile/FishDesk2009Beta4.exe,就运行:
python tharia2.py http://www.dmato.com/DownloadFile/FishDesk2009Beta4.exe
默认 aria2 可以支持 5 线程,如果你想改为 10 线程,那么:
python tharia2.py -s 10 http://www.dmato.com/DownloadFile/FishDesk2009Beta4.exe
指定下载目录,用 -d:
python tharia2.py -d "/home/iven" -s 10 http://www.dmato.com/DownloadFile/FishDesk2009Beta4.exe
更多用法详见:
aria2c --help
目前的主要问题是,可可熊大侠的网站相应速度太慢了,过半分钟才会返回候选列表,汗……不知道是不是我的网速问题,大家可以试一下。另外,就是没有解迅雷的 thunder:// 协议了,还有快车什么的,这个貌似不难,有时间研究一下。
现在还没有开源版本的迅雷候选地址搜索工具,主要大家怕流传太广,遭到迅雷封锁。但是还是好想看看代码是怎么写的啊……
最后,项目的地址:http://github.com/iven/tharia2/

分享到:
评论

相关推荐

    python3.11最新版本下载,内含linux/windwos/macos安装包

    在提供的压缩包文件`python-3-11-0`中,包含了针对Linux、Windows和macOS三个主流操作系统的安装包。对于Linux用户,可能有`.tar.gz`或`.whl`格式的源代码包和二进制包;Windows用户将找到`.msi`安装程序;而macOS...

    linux 原生迅雷

    迅雷版本是1.0.31,包含数个linux原生二进制程序,建议双击安装包进行安装,它还要额外的pyQt5图形库,会自动从ubuntu仓库下载. 第一次先不要登陆,先要设置.启动迅雷软件->菜单栏->文件->设置 ->挂载->添加下载目录,...

    python3.8零基础入门教程-Python零基础入门教程2.安装python3.8.pdf

    下⾯我们去"购买"我们的渔具~ windows安装python3.8 相信⼤多数读者都是使⽤的windows系统,所以着重介绍如何在windows上安装python3 获取下载链接 ps:直接在浏览器下载可能会有点慢,可以粘贴真正的下载地址到迅雷...

    python安装pandas

    在Python提示符下输入`import pandas as pd`,如果没有出现错误,那么恭喜你,Pandas已经成功安装。 现在,你可以开始使用Pandas进行数据操作了。Pandas提供了一系列强大的功能,如读取CSV、Excel、SQL数据库等数据...

    python3.8零基础入门教程-【Python零基础入门教程】2.安装python3.8.pdf

    首先,Python 的可移植性是其一大亮点,意味着在 Windows、Linux 和 macOS 上编写的代码可以在这些不同的平台上运行,只要程序不依赖特定的操作系统特性。这种跨平台兼容性使得 Python 成为了多领域开发的理想选择。...

    迅雷被挤下线可以自动重新登录的程序

    Python因其丰富的库和易读性常被用于这类自动化任务,而C#或Java则可能更适用于需要深度集成迅雷SDK的情况。 6. **多平台兼容**:如果希望程序在不同操作系统上运行,如Windows、MacOS或Linux,需要考虑跨平台的...

    python爬虫开发工程师个人简历模板(Word可以直接使用).docx

    - **Linux/类Unix开发环境**: 熟练使用Linux操作系统进行软件开发,包括文件操作、进程管理等。 - **常用命令**: 掌握如`ls`、`cd`、`grep`等基本命令的使用方法。 #### Web前端技术 - **HTML/CSS**: 了解HTML标记...

    windows部署迅雷云监工.doc

    总之,Windows环境下部署迅雷云监工虽然与Linux环境有所不同,但借助Python和Windows的灵活性,依然可以实现高效且稳定的监控。通过合理的硬件选择和软件配置,我们可以创建一个强大的本地监控中心,为系统稳定运行...

    Linux软件包管理器.pdf

    另外,几乎所有的Linux发行版都可以使用yum和dpkg命令,但在混合使用时可能会引起冲突,因此通常建议在单一的发行版中使用特定的包管理器。 RPM软件包管理器的主要特点在于它能够处理*.rpm格式的二进制软件包。在...

    迅雷云监工

    在使用"迅雷云监工"时,用户首先需要在目标服务器上安装必要的依赖,如Python(因为很多Linux系统管理工具基于Python编写)和其他相关库。然后通过提供的安装脚本来部署系统,脚本会自动处理配置、权限设置等复杂...

    centos光盘下载地址-迅雷下载.docx

    1. 打开迅雷软件或访问迅雷网页版(如果未安装迅雷,需先下载并安装)。 2. 点击“新建”或者粘贴上述镜像URL到迅雷的下载框中。 3. 检查下载设置,包括保存路径、网络连接等,确保一切准备就绪。 4. 点击“立即下载...

    kali-linux-2020.1-installer-amd64.iso.torrent

    用迅雷下载,贼快,新系统弃用python2,新系统弃用python2,新系统弃用python2,新系统弃用python2

    python3下载电影脚本

    结合baidupcsgo使用,做一个简单的爬虫,可以爬去视频的迅雷链接,然后通过baidupcsgo的od add 命令添加离线下载,就可以下载高清电影 软件命令有俩 search 电影名字 select 序号

    Linux桌面开发以及社区发展.ppt

    然而,尽管酷炫的特效能吸引眼球,真正让用户满意的还是那些实用的应用程序,如Firefox浏览器、QQ聊天软件、迅雷下载工具和软件中心。这些日常使用的软件对于提升Linux的普及度至关重要,因为它们直接影响到用户的...

    Word 转 HTML(Python)

    迅雷网盘:https://pan.xunlei.com/s/VMSG9IqahsL8eJBeSU4FTbmqA1,提取码:etwi 百度网盘:链接: https://pan.baidu.com/s/1_SUS0sTCYmcqEA85CnkFwg 提取码: jq83 Gitee:https://gitee.com/gfdgd-xi/word-to-html

    迅雷2012笔试题目

    8. **迅雷MAC版测试点**:测试一款软件,尤其是跨平台应用如迅雷的MAC版,需要考虑界面适配、功能兼容性、性能优化、稳定性、用户体验等方面。具体测试点可能包括下载速度、资源管理、错误处理、多任务并行、资源...

    nacos1.1.4包含window和linux俩个包

    Nacos 1.1.4版本的发布,为开发者提供了在Windows和Linux两大主流操作系统上的运行支持,这使得无论是在Windows开发环境下还是在Linux生产环境中,都能方便地部署和使用Nacos。 首先,我们来详细了解一下Nacos的...

    PyPI 官网下载 | yeonji-0.4.tar.gz

    描述中提到"资源来自pypi官网,资源全名:yeonji-0.4.tar.gz",这表明yeonji是一个Python项目,其0.4版本可以从PyPI官方渠道获得,文件格式为tar.gz,这是一种常见的在Linux和Unix系统中用来归档和压缩文件的格式。...

    rhel-8.5-x86_64-dvd.rar

    综上所述,"rhel-8.5-x86_64-dvd.rar"文件代表了Red Hat Enterprise Linux 8.5的一个重要发行版,它为用户带来了模块化、安全、高性能的Linux操作系统体验,适合在各种企业环境中部署和使用。通过下载并解压此RAR...

    rhel-8.0-x86_64-linuxprobe.com.iso.rar

    5. **容器支持**:RHEL 8.0增强了对容器技术的支持,包括Podman和Buildah,这些工具可以帮助用户在不依赖Docker守护进程的情况下管理和构建容器。 6. **改进的安全性**:RHEL 8.0增强了安全功能,如强制性的...

Global site tag (gtag.js) - Google Analytics