精华内容
下载资源
问答
  • python + wget多线程下载

    2020-07-28 13:09:44
    python + wget多线程下载读取链接下载函数MyThread并行下载代码 由于有个项目需要下载大量数据,数据大多是每个100MB左右,所以我想使用python + wget多线程下载的方式下载,设定下载子线程个数不得多于设定的个数,...


    由于有个项目需要下载大量数据,数据大多是每个100MB左右,所以我想使用python + wget多线程下载的方式下载,设定下载子线程个数不得多于设定的个数,已经带有超时和重试次数的设定。

    读取链接

    这些链接我是从另外一个程序得到的,主要是是读取fits文件,然后将适合的链接输出到txt里,这里的readline_txt函数就是将txt里的链接读到一个列表里。

    下载函数

    Download_wget_OS(List,PATH)是利用wget shell命令来下载对应的链接,并返回此shell命令的执行状态。

    MyThread

    我写了个Thread的子类,对应我需要的情况,主要是增加返回值,用于检查子线程1的执行情况。

    并行下载

    Multi_process(List,PATH):#并行下载,这里的主要想法是设定一个列表,将子线程都添加进去,总线程个数>最大设定子线程个数+1,(主线程也算一个),则等待,如果小于等于就检查子线程列表里的结果,统计,并剔除掉列表里对应的完成的线程,然后再先列表添加新子线程。

    代码

    '''
    docstring
    '''
    import os
    import subprocess #shell 命令
    import threading
    import time
    
    PATH = r'./Data'
    output = './output.txt'#待下载的链接
    #结果输出
    timeout_txt = './timeout.txt'
    succeed_txt = './succeed.txt'
    wrong_txt = './wrong.txt'
    
    Max_process_number = 6 #子线程个数
    trytime = 3 #重试次数
    Timeout = 60 #超时时间
               
    def readline_txt(output):
        with open(output, 'r') as f:#读取连接
            LINK = f.readlines()#读取所有行
        read = LINK[-1]#读取最后一行
        LINK.pop()#移除掉最后一行注释
        print(read + ' check ' + str(len(LINK)))
        return LINK
    
    def writing_txt_line(file_name,contents,Mode = 1):#输出记录
        if Mode == 0 :
            with open(file_name, 'w') as f:  
                f.writelines('')
        else :
            with open(file_name, 'a') as f:  
                f.writelines(contents+'\n') 
    
    def Download_wget_OS(List,PATH): #url列表下载
        cmd = 'wget -c ' + List + ' -P '+ PATH + ' -t '+str(trytime) + ' -T ' + str(Timeout)
        #print(cmd+'\n')#打印命令
        status_subprocess = subprocess.call(cmd,shell=True)#返回程序状态
        #print('正在下载: '+List)
        #print(status_subprocess)
        file = List.rsplit('/',1)[-1]
        if status_subprocess == 0:
            print('下载成功:'+file)
            return '下载成功'
        elif status_subprocess == 1:
            print('链接错误:'+file)
            return '链接错误'
        elif status_subprocess == 4:
            print('链接超时:'+file)
            return '链接超时'
        else :
            print('其他错误:',status_subprocess,+file)
        return '其他错误'
        
    class MyThread(threading.Thread):#自己写的类,带2个输入参数
      def __init__(self, List, PATH):#必须含有__init__方法和run方法
        threading.Thread.__init__(self)#初始化 函数进入时都先执行这一块
        self.List = List
        self.PATH = PATH
        self.result = 0
      def run(self):                #然后进入函数将运行的内容
        self.result = Download_wget_OS(self.List,self.PATH)
      def get_result(self): #其它方法 返回结果
        return self.result
      def Name(self):       #其它方法 返回名字
        return self.List
        
    def Multi_process(List,PATH):#并行下载
        threads_group = []#线程池
        succeed_count = 0
        linkerror_count=0
        timeout_count = 0
        other_count = 0
        Total = len(List)
        writing_txt_line(timeout_txt, '' ,Mode=0)##清空文本
        writing_txt_line(succeed_txt, '' ,Mode=0)
        writing_txt_line(wrong_txt,   '' ,Mode=0)
        
        for i in range(len(List)):
            url_list = List[i].strip()#去掉头尾多余符号
            #总线程数小于等于Max_process_number 主线程也算一个
            
            New_threads = MyThread(url_list,PATH)#自定义的类
            threads_group.append(New_threads)    #线程名添加进池里
            New_threads.setDaemon(True)          #设为守护线程
            New_threads.start()
            
            print('启动线程:'+url_list.rsplit('/',1)[-1])
            print('总线程数:',len(threading.enumerate()),' 下载线程数:',len(threads_group))
            while (len(threading.enumerate()) > Max_process_number):
                #总线程数小于等于Max_process_number时退出
                pass#不操作
            #检查子线程 并计数
            for threads in threads_group:
                #计数部分
                if  threads.get_result() == '下载成功':
                    succeed_count = succeed_count +1
                    writing_txt_line(succeed_txt,threads.Name())#写入对应连接
                    #在这里可以加入校验
             
                elif threads.get_result() == '链接超时':
                    timeout_count = timeout_count +1
                    writing_txt_line(timeout_txt,threads.Name())#写入对应连接
                    
                elif threads.get_result() == '链接错误':
                    linkerror_count = linkerror_count +1
                    writing_txt_line(wrong_txt,  threads.Name())#写入对应连接
                    
                elif threads.get_result() == '其他错误':
                    other_count = other_count +1
                    writing_txt_line(wrong_txt,  threads.Name())#写入对应连接
           
                #移除已完成子线程
                if threads.get_result() !=  0 :# 检查哪个子线程执行完
                    print('移除线程:'+threads.Name().rsplit('/',1)[-1])
                    threads_group.remove(threads)
                    break
                print('总数:',Total,'下载成功:',succeed_count,'链接超时:',timeout_count,'链接错误:',linkerror_count,'其他错误:',other_count)         
        threads_group.join()   #需要子线程阻塞
        print('所有下载已启动')         
    
    if __name__ == '__main__':
        #Download_wget_OS(url,PATH)
        Multi_process(readline_txt(output),PATH)
        time.sleep(5)  
    
    展开全文
  • 本程序是运用Python ,通过分析找到腾讯动漫的真实播放地址,然后用wget多线程下载
  • wget下载国外包的时间特别慢,所以找到一个多线程wget下载工具mwget 安装mwget 官方地址:http://sourceforge.net/projects/kmphpfm/?source=dlp # cd /usr/local/src/ # wget ...

    wget下载国外包的时间特别慢,所以找到一个多线程wget下载工具mwget

    安装mwget

    官方地址:http://sourceforge.net/projects/kmphpfm/?source=dlp

    # cd /usr/local/src/
    # wget http://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.tar.bz2
    # tar -xjvf mwget_0.1.0.orig.tar.bz2
    # cd mwget_0.1.0.orig
    # ./configure
    # make
    # make install
    

    tar -xjvf mwget_0.1.0.orig.tar.bz2时候报如下错:

    tar (child): bzip2:无法 exec: 没有那个文件或目录
    tar (child): Error is not recoverable: exiting now
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now
    

    解决方法:

    yum install -y bzip2
    

    configure过程中如果出现如下错误:

    checking whether to enable maintainer-specific portions of Makefiles... no
    checking for g++... no
    checking for c++... no
    checking for gpp... no
    checking for aCC... no
    checking for CC... no
    checking for cxx... no
    checking for cc++... no
    checking for cl.exe... no
    checking for FCC... no
    checking for KCC... no
    checking for RCC... no
    checking for xlC_r... no
    checking for xlC... no
    checking whether the C++ compiler works... no
    configure: error: in `/usr/local/src/mwget_0.1.0.orig':
    configure: error: C++ compiler cannot create executables
    See `config.log' for more details
    

    执行如下命令:

    yum install gcc gcc-c++ gcc-g77
    

    configure过程中如果出现如下错误,请安装大于等于0.35版本的intltool

    checking for intltool >= 0.35.0... ./configure: line 6824: intltool-update: comman
    d not found found
    configure: error: Your intltool is too old.  You need intltool 0.35.0 or later.
    

    执行如下命令:
    yum -y install intltool

    mwget用法:
    mwget -h
    GNU MWget 0.1.0 ,一个非交互式多线程可移植的网络文件下载工具。
    用法: mwget [选项]…[URL]
    选项:
    -b, --debug 调试模式,显示调试信息
    -c, --count=num 设置重试次数为[num],不限制次数设置为“0“,默认设置为“99”。
    -d, --directory=dir 设置本地目录为[dir],默认值为当前目录。
    -f, --file=file 重命名下载后文件为[file]
    -h, --help 显示帮助信息。
    -i, --interval=num 设置FTP重试期限为[num]秒,默认为“5“。
    -n, --number=num 设置下载的线程数,默认开4个线程。
    -r, --referer=URL 使用“Referer: [URL]”在HTTP头中欺骗服务器。
    -t, --timeout=num 设置超时时间为[num]秒,默认设置是“30”。
    -v, --version 显示mwget的版本,然后退出。
    -x, --proxy=URL 设置代理 [URL]

    邮件BUG报告和讨论地址:sa@kmlinux.tkxiao_suo@hotmail.com
    BUG报告与讨论网站:http://mwget.sourceforge.net/ http://www.kmlinux.tk/
    我们欢迎您的BUG报告和建议!(喵~)

    展开全文
  • linux运维在操作linux过程中,用得最多的linux下载工具想必一定是wget,没有看到哪一台服务器没装过wget的,或许有人使用ftp下载,也有人使用多线程的axel以及ProZilla,毫无疑问这两个工具都非常的出色,但是对于习惯...

    linux运维在操作linux过程中,用得最多的linux下载工具想必一定是wget,没有看到哪一台服务器没装过wget的,或许有人使用ftp下载,也有人使用多线程的axel以及ProZilla,毫无疑问这两个工具都非常的出色,但是对于习惯使用wget的人来说显得不适应,于是老外便开发了多线程版本的wget工具mwget,m表示multi多线程的意思.

    安装mwget

    官方地址:http://sourceforge.net/projects/kmphpfm/?source=dlp

    # cd /usr/local/src/

    # wget http://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.tar.bz2

    # tar -xjvf mwget_0.1.0.orig.tar.bz2

    # cd mwget_0.1.0.orig

    # ./configure

    # make

    # make install

    1

    2

    3

    4

    5

    6

    7

    # cd /usr/local/src/

    # wget http://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.tar.bz2

    # tar -xjvf mwget_0.1.0.orig.tar.bz2

    # cd mwget_0.1.0.orig

    # ./configure

    # make

    # make install

    configure过程中如果出现如下错误,请安装大于等于0.35版本的intltool

    checking for intltool >= 0.35.0... ./configure: line 6824: intltool-update: command not found

    found

    configure: error: Your intltool is too old.  You need intltool 0.35.0 or later.

    # yum install intltool

    1

    2

    3

    4

    checkingforintltool>=0.35.0..../configure:line6824:intltool-update:commandnotfound

    found

    configure:error:Yourintltoolistooold. Youneedintltool0.35.0orlater.

    # yum install intltool

    wgetvs mwget速度测试

    以下使用下载2.4.5版本的mongodb来取样.

    2.1 mwget速度测试

    # mwget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz

    Begin to download: mongodb-linux-x86_64-2.4.5.tgz

    FileSize:  90M

    36% [====>         =====>        ===>          ====>          ] [ 33M] [2.0M/s] [ETA:00:28]

    1

    2

    3

    4

    # mwget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz

    Begintodownload:mongodb-linux-x86_64-2.4.5.tgz

    FileSize: 90M

    36%[====>        =====>       ===>         ====>         ][33M][2.0M/s][ETA:00:28]

    mwget速度截图如下:

    5d3b6cdaae332091b2edbfa8967be0d6.png

    mwget多线程下载速度

    2.2 wget速度测试

    # wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz

    --2013-08-16 10:55:23--  http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz

    Resolving fastdl.mongodb.org... 54.230.114.206, 54.230.113.36, 54.230.114.144, ...

    Connecting to fastdl.mongodb.org|54.230.114.206|:80... connected.

    HTTP request sent, awaiting response... 200 OK

    Length: 94827295 (90M) [application/x-tar]

    Saving to: “mongodb-linux-x86_64-2.4.5.tgz.1”

    6% [==>                                                ] 6,470,547    210K/s  eta 6m 26s

    1

    2

    3

    4

    5

    6

    7

    8

    9

    # wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz

    --2013-08-1610:55:23-- http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz

    Resolvingfastdl.mongodb.org...54.230.114.206,54.230.113.36,54.230.114.144,...

    Connectingtofastdl.mongodb.org|54.230.114.206|:80...connected.

    HTTPrequestsent,awaitingresponse...200OK

    Length:94827295(90M)[application/x-tar]

    Savingto:“mongodb-linux-x86_64-2.4.5.tgz.1”

    6%[==>                                               ]6,470,547   210K/s eta6m26s

    wget速度截图如下

    3fc679d274331eed18b5f494a0f1d801.png

    wget单线程下载速度截图

    mwget用法:

    # mwget -h

    GNU MWget 0.1.0 ,a non-interactive and multiline network retriever of all POSTIX Systems.

    Usage:  mwget  [Options]... [URL]...

    Options:

    -b,  --debug          Show the debug message

    -c,  --count=num      Set the retry count to [num], no limit when "0", the default is "99"

    -d,  --directory=dir  Set the local direcotry to [dir], the default is "."

    -f,  --file=file      Rename the file to [file]

    -h,  --help           A brief summary of all the options

    -i,  --interval=num   Set the ftp retry interval to [num] seconds, the default is "5"

    -n,  --number=num     Use [num] connections instead of the default (4)

    -r,  --referer=URL    Include `Referer: [URL]' header in HTTP request.

    -t,  --timeout=num    Set the connection timeout to [num] seconds, the default is "30"

    -v,  --version        Show the version of the mwget and exit

    -x,  --proxy=URL      Set the proxy [URL]

    Mail bug reports and suggestions to

    On website bug reports and suggestions to

    We Welcome your BUG REPORT!

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    # mwget -h

    GNUMWget0.1.0,anon-interactiveandmultilinenetworkretrieverofallPOSTIXSystems.

    Usage: mwget [Options]...[URL]...

    Options:

    -b, --debug         Showthedebugmessage

    -c, --count=num     Settheretrycountto[num],nolimitwhen"0",thedefaultis"99"

    -d, --directory=dir Setthelocaldirecotryto[dir],thedefaultis"."

    -f, --file=file     Renamethefileto[file]

    -h, --help          Abriefsummaryofalltheoptions

    -i, --interval=num  Settheftpretryintervalto[num]seconds,thedefaultis"5"

    -n, --number=num    Use[num]connectionsinsteadofthedefault(4)

    -r, --referer=URL   Include`Referer:[URL]'headerinHTTPrequest.

    -t, --timeout=num   Settheconnectiontimeoutto[num]seconds,thedefaultis"30"

    -v, --version       Showtheversionofthemwgetandexit

    -x, --proxy=URL     Settheproxy[URL]

    Mailbugreportsandsuggestionsto

    Onwebsitebugreportsandsuggestionsto

    WeWelcomeyourBUGREPORT!

    总结

    mwget虽然功能偏少,并且无法完全替代单线程版本的wget,但是对于我们基本只是用wget简单下载运维人员来说,mwget绝对是个完好的选择.

    展开全文
  • 偶然发现了 axel 这个支持多线程下载工具,试用了几次之后,发现网络文件的下载速度提交了很多,决定将常用的下载工具替换为 axel。 1 安装 1、Linux 安装 CentOS 中安装 axel,axel 系统不自带,且 Yum 源也...

     

    对于在 Linux 的下载工具而言,比较常用的就是 wget 或者 curl,吾也一直用 wget 的方式进行网络上的资源下载。偶然发现了 axel 这个支持多线程的下载工具,试用了几次之后,发现网络文件的下载速度提交了很多,决定将常用的下载工具替换为 axel。

    axel是一个多线程分段下载工具,可以从ftp或http服务器进行下载。

    1 安装

    1、Linux 安装
    CentOS 中安装 axel,axel 系统不自带,且 Yum 源也没有 axel 的包,需要从网络中下载。
    可以在 https://centos.pkgs.org/ ,  http://pkgs.repoforge.org/axel/ 搜索找到并下载安装,下载rpm包安装。

    项目地址:https://github.com/axel-download-accelerator/axel

    $ wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/a/axel-2.4-9.el7.x86_64.rpm
    $ rpm -ivh axel-2.4-9.el7.x86_64.rpm
    

     

     yum install axel -y
    

    2、macOS 安装
    使用 brew 安装

    $ brew install axel
    

    源码安装

    wget https://github.com/axel-download-accelerator/axel/releases/download/v2.17.10/axel-2.17.10.tar.xz
    tar -xvf axel-2.17.10.tar.xz
    cd axel-2.17.10
    ./configure && make && make install
    

     在该目录下就有axel

    2 选项参数

    --max-speed=x , -s x         # 最高速度x
    --num-connections=x , -n x   # 连接数x
    --output=f , -o f            # 下载为本地文件f
    --search[=x] , -S [x]        # 搜索镜像
    --header=x , -H x            # 添加头文件字符串x(指定 HTTP header)
    --user-agent=x , -U x        # 设置用户代理(指定 HTTP user agent)
    --no-proxy , -N             # 不使用代理服务器
    --quiet , -q                # 静默模式
    --verbose ,-v               # 更多状态信息
    --alternate , -a            # Alternate progress indicator
    --help ,-h                  # 帮助
    --version ,-V               # 版本信息
    

    详细参数:   

    --max-speed=x, -s x

    指定最大下载速度。

     --num-connections=x, -n x

    指定链接的数量。

     --output=x, -o x

    指定下载的文件在本地保存的名字。如果指定的参数是一个文件夹,则文件会下载到指定的文件夹下。

    --search[=x], -S[x]

    Axel将会使用文件搜索引擎来查找文件的镜像。缺省时用的是filesearching.com。可以指定使用多少个不同的镜像来下载文件。
    检测镜像将会花费一定的时间,因为程序会测试服务器的速度,以及文件存在与否。

    --no-proxy, -N

    不使用代理服务器来下载文件。当然此选项对于透明代理来说无意义。

    --verbose

    如果想得到更多的状态信息,可以使用这个参数。

    --quiet, -q

    不向标准输出平台(stdout)输入信息。

    --alternate, -a

    指定这个参数后将显示一个交替变化的进度条。它显示不同的线程的进度和状态,以及当前的速度和估计的剩余下载时间。

    --header=x, -H x

    添加HTTP头域,格式为“Header: Value”。

    --user-agent=x, -U x

    有些web服务器会根据不同的User-Agent返回不同的内容。这个参数就可以用来指定User-Agent头域。缺省时此头域值包括“Axel”,它的版本号以及平台信息。

    --help, -h

    返回参数的简要介绍信息。

    --version, -V

    显示版本信息。

     

     至少要制定一个参数,如果是FTP下载的话,可以指定通配符进行下载, 程序会自行解析完整的文件名。可以指定多个URL进行下载,但是程序不会区分这些URL是否为同一个文件,换而言之,同一个URL指定多次,就会进行多次的下载。

     

    3 下载测试

    在同一台服务器上用官方的 CentOS Minimal ISO 镜像,分别用 wget 和 axel 做一个下载测试,文件大小 900M + 。

    $ wget http://mirror.sfo12.us.leaseweb.net/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
    

    结果:
    wget 下载用时 31s。

    $ axel -n 20 http://mirror.sfo12.us.leaseweb.net/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
    

    结果:
    axel 下载用时 12s。

    用axel下载东西时,容易出现 Too many redirects. 的错误,则使用最新版本即可。因为github强制使用https,axel会跳转到80端口,这样造成了死循环,github上面的最新版axel已经解决了这个问题。

    ===============aria2==============================

    https://github.com/aria2/aria2

    https://aria2.github.io/

    • 优点:比较全能,HTTP 下载和 BT 下载都有,性能也相当不错,速度不比迅雷慢
    • 缺点:无 UI,需要自备;配置麻烦,上手较难。


     axel与aria2c对比

    对比项 axel aria2c
    支持的下载协议 HTTP,HTTPS,FTP,FTPS等 HTTP/HTTPS GEET方式, FTP,BitTorrent协议和fast扩展
    更改下载文件路径/名称 -o -o
    限制连接数 -n -x, –max-connection-per-server,默认为1
    限制下载速度 -s 或 –max-speed –max-download-limit,默认不限速
    断点续传 使用相同的axel命令即可 -c
    替换进度条 -a
    从文件获取输入 不支持 -i,–input-file
    下载BiTorrent文件种子和磁力链接 不支持 支持
    下载多个文件 不支持 -z

     使用对比

    用20个连接限制1.5M(默认的下载单位为Kb,1.5M=1500000kb)的速度下载deepin的镜像文件到/tmp目录下并改名为deepin15.5.iso文件不使用默认的下载进度条

    axel -a -n 20 -s 1500000 -o /tmp/deepin15.5.iso  https://mirrors.tuna.tsinghua.edu.cn/deepin-cd/15.5/deepin-15.5-amd64.iso
    

     用5个连接限速2M(不可使用小数)从含有deepin镜像文件http下载链接的文件中下载到/tmp目录下改名为deepin15.5.iso并要求下载中断之后能够继续下载

    aria2c -x 5 --max-download-limit=2M -c -i ~/deepin.txt 

    ==========================================

    mwget 

    安装

    wget http://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.tar.bz2
    
    tar -xjvf mwget_0.1.0.orig.tar.bz2
    cd mwget_0.1.0.orig
    ./configure
    make
    make install

     mwget比wget速度,实测提升了至少4倍。因为缺省是4个线程,所以快了4倍。

    选项是:
    
    Options:
    -b, --debug Show the debug message
    -c, --count=num Set the retry count to [num], no limit when "0", the default is "99"
    -d, --directory=dir Set the local direcotry to [dir], the default is "."
    -f, --file=file Rename the file to [file]
    -h, --help A brief summary of all the options
    -i, --interval=num Set the ftp retry interval to [num] seconds, the default is "5"
    -n, --number=num Use [num] connections instead of the default (4)
    -r, --referer=URL Include `Referer: [URL]' header in HTTP request.
    -t, --timeout=num Set the connection timeout to [num] seconds, the default is "30"
    -v, --version Show the version of the mwget and exit
    -x, --proxy=URL Set the proxy [URL]

    参考资料:

    1. aria2 懒人安装教程
    2. Aria2+WebUI,迅雷倒下之后的代替品
    3. BT trackers 更新项目
    4. Aria2基础上手指南
    5. 解决Aria2 BT下载速度慢没速度的问题
    6. yaaw (国人开发的 Aria2 web-ui)
    7. bt-trackerlist 官方更新地址
    展开全文
  • wget多线程版本(超级好用)

    千次阅读 2020-12-05 15:33:37
    # 下载bzip包 wget http://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.tar.bz2 # b无zip工具需要安装(已安装忽略) yum install bzip2 # 解压 bzip2 -d mwget_0.1.0.orig.tar.bz2 #再...
  • wget多线程从ibm下载补丁

    千次阅读 2007-07-16 10:51:00
    情景:bim的系统补丁下载,会告诉你一个ftp服务器地址和目录,该目录是所需补丁的文件链接,而不是实际文件,如lrwxrwxrwx 1 17590 446 62 Jul 12 20:34 72.bff -> /aix/fixes/byCompID/5765E6200/bos.rte/bos....
  • 万一一个软件下载了一半,网断掉了,那么网恢复的时候,wget就会默认这个软件已经下载好了,因为在去下载一个文件之前,他会先生成一个.list文件,来做记录!如果直接去打开这个问题,那就是文件损坏。 axel这个...
  • /*** 使用wget下载文件 * *@paramdisplayName appName *@paramcategory 分类 *@paramdownload_url 下载地址 *@return成功返回文件路径,失败返回null*/ public staticString downloadFileByWget(String displayName,...
  • linux运维在操作linux过程中,用得最多的linux下载工具想必一定是wget,没有看到哪一台服务器没装过wget的,或许有人使用 ftp下载,也有人使用多线程的axel以及ProZilla,毫无疑问这两个工具都非常的出色,但是对于习惯...
  • Centos 安装 Axel 多线程下载 代替 Wget

    千次阅读 2019-08-27 21:07:22
    Axel 是 Linux 平台下的一款 HTTP/FTP 的高速下载工具,支持多线程以及断点续传,对于一些有速度限制的服务器上下载东西时,Axel 的速度就明显比 wget 要快一些 Centos6 安装方法 现在网上基本都是已经废弃的...
  • axel -n 20 http://www.openslr.org/resources/18/data_thchs30.tgz
  • /*** 使用wget下载文件 * *@paramdisplayName appName *@paramcategory 分类 *@paramdownload_url 下载地址 *@return成功返回文件路径,失败返回null*/ public staticString downloadFileByWget(String displayName,...
  •  最近使用 wget 下载百度云资源,速度比较缓慢,在朋友推荐多线程下载后发现 wget 其实仅仅是一个单线程下载工具,在面对文件时会显得十分鸡肋,并且有许多诟病,比如无断点重连等等功能。 Axel 介绍 ...
  • wget http://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.tar.bz2 # 安装依赖关系包: yum install bzip2 gcc-c++ openssl-devel intltool -y bzip2 -d mwget_0.1.0.orig.tar.bz2 tar -...
  • 在爬数据的时候很时候需要下载文件比如压缩文件,音频,视频,图片等等,这些文件通常有一个请求的url,这个时候使用request模块或者urllib模块都很慢,而且很不稳定,这个时候使用wget或者axel等系统工具并结合os模块的...
  • 支持多线程下载、断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件。适合网速不给力时多线程下载提高下载速度。比如在国内VPS或服务器上下载lnmp一键安装包用Axel就比wget快。options就是下面的...
  • aria2c是一款非常好用的下载工具,支持多线程。 此处提供的是Windows版本,传输速度比wget快很多。 【使用方法】 注意:以下都是以批处理方式调用aria2c.exe 方法一:单文件下载 aria2c.exe -c -s 5 -...
  • 、10个线程下载lnmp安装包 1 2 3 4 5 6 7 # axel -n 10 -o /tmp/    [ 1%] .......... .......... .......... .......... .......... [4654.5KB /s ] [ 1%]...
  • 写了个抓取appstore的,要抓取大量的app,本来是用httpclient,但是效果不理想,于是直接调用wget下载,但是由于标准输出、错误输出的原因会导致卡住,另外wget也会莫名的卡住。 所以我采用: 一、独立线程读取...
  • gorc是类wget多线程下载器,支持直接从资源url并发获取资源,支持进度条显示和断点续传
  • 这是网上下载的,觉得挺不错就收藏在这里了 里面代码可能debug下载某些文件出错,发现是在一个什么trace里面
  • 使用多线程传输,加速下载速度2. 数据在传输过程中,进行流式md5计算,避免在传输完毕之后校验大文件3. 支持断点续传4. 支持http协议和ftp协议5. 代码尽可能的简单,利于维护 实现目标1. 使用多线程传输,加速...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 236
精华内容 94
关键字:

wget多线程下载