zoukankan      html  css  js  c++  java
  • python3 使用aria2下载的一个脚本

    import requests
    import time
    ariaurl="http://localhost:6800/jsonrpc"
    dlurl="http://xxx.xxx.xxx/xxx.xxx"  #需下载文件的真实
    fn="XXX.XXX"   #落地的文件名,
    dn="XXX/XXXX/xxxx"      #本地目录
    maxdowns=3    #最大并发数
    #jsondata  rpc调用的数据头(固定部分)
    jsondata={
        "jsonrpc":"2.0",
        "id":"QXJpYU5nXzE1NDgzODg5MzhfMC4xMTYyODI2OTExMzMxMzczOA==",
        }
    
    def  ariadown(url,fname,fdir):          #url  是下载文件的链接,fanme和fdir分别为本地文件名和目录
        reqdata=jsondata
        reqdata["method"] = "aria2.tellActive"             #aria  取当前并发数的的方法
        ret = requests.post(ariaurl, json=reqdata)
        #print(ret.json())
        curdowns=len(ret.json()["result"])
        while curdowns >= maxdowns:
            print("Waitting for links...")
            time.sleep('2')                  #等不到就睡一觉
            ret = requests.post(ariaurl, json=reqdata)
            curdowns=len(ret.json()["result"])
        reqdata["method"] = "aria2.addUri"            #aria  增加下载的方法
        reqdata['params'] = [[],{}]
        reqdata['params'][0] = [url]
        reqdata['params'][1] = {"out" : fname,"dir" : fdir}
        ret = requests.post(ariaurl, json=reqdata)
        return(ret.status_code)
    ret = ariadown(dlurl,fn,dn)                      #下载的调用
    print(ret)                       #是不是200?
  • 相关阅读:
    最短路问题之Dijkstra算法
    最短路问题之Bellman-ford算法
    最小生成树之Kruskal(克鲁斯卡尔)算法
    二分图问题
    七桥问题与欧拉道路
    拓扑排序
    八连通块
    四连通检测
    USACO19DEC题解
    1206 雅礼集训D2题解
  • 原文地址:https://www.cnblogs.com/stvadv/p/11656652.html
Copyright © 2011-2022 走看看