import requests
import json
class Aria2Download:
def __init__(self):
self.api = "http://localhost:6800/jsonrpc"
# 消息id,aria2会原样返回这个id,可以自动生成也可以用其他唯一标识
self.id = "QXJpYU5nXzE2NzUxMzUwMDFfMC42Mzc0MDA5MTc2NjAzNDM="
def addUri(self, url, path, file=None, proxy=None):
"""
添加任务
:param url: 文件下载地址
:param path: 文件保存路径
:param file: 文件保存名称
:param proxy: 代{过}{滤}理地址
:return:
"""
data = {
"id": self.id,
"jsonrpc": "2.0",
"method": "aria2.addUri",
"params": [[url], {"dir": path, "out": file, "all-proxy": proxy}]
}
req = requests.post(url=self.api, data=json.dumps(data))
return_json = req.json()
req.close()
# print("addUri", return_json)
return return_json
def getGlobalStat(self):
"""
获取全部下载信息
:return:
"""
data = {
"jsonrpc": "2.0",
"method": "aria2.getGlobalStat",
"id": self.id
}
req = requests.post(url=self.api, data=json.dumps(data))
return_json = req.json()
req.close()
# print("getGlobalStat", return_json)
return return_json
def tellActive(self):
"""
正在下载
:return:
"""
data = {
"jsonrpc": "2.0",
"method": "aria2.tellActive",
"id": self.id, "params": [
["gid", "totalLength", "completedLength", "uploadSpeed", "downloadSpeed", "connections", "numSeeders",
"seeder", "status", "errorCode", "verifiedLength", "verifyIntegrityPending", "files", "bittorrent",
"infoHash"]]
}
req = requests.post(url=self.api, data=json.dumps(data))
return_json = req.json()
req.close()
# print("getGlobalStat", return_json)
return return_json
def tellWaiting(self):
"""
正在等待
:return:
"""
data = {"jsonrpc": "2.0", "method": "aria2.tellWaiting",
"id": self.id,
"params": [0, 1000, ["gid", "totalLength",
"completedLength",
"uploadSpeed",
"downloadSpeed",
"connections",
"numSeeders",
"seeder", "status",
"errorCode",
"verifiedLength",
"verifyIntegrityPending"]
]
}
req = requests.post(url=self.api, data=json.dumps(data))
return_json = req.json()
req.close()
print("tellWaiting", return_json)
return return_json
def tellStopped(self):
"""
已完成/已停止
:return:
"""
data = {"jsonrpc": "2.0",
"method": "aria2.tellStopped",
"id": self.id,
"params": [-1, 1000, ["gid", "totalLength",
"completedLength",
"uploadSpeed",
"downloadSpeed",
"connections",
"numSeeders", "seeder",
"status", "errorCode",
"verifiedLength",
"verifyIntegrityPending"]]
}
req = requests.post(url=self.api, data=json.dumps(data))
return_json = req.json()
req.close()
# print("tellStopped", return_json)
return return_json
def tellStatus(self, gid):
"""
任务状态
:param gid: 任务ID
:return:
"""
data = {"jsonrpc": "2.0", "method": "aria2.tellStatus", "id": self.id, "params": [gid]}
req = requests.post(url=self.api, data=json.dumps(data))
return_json = req.json()
req.close()
# print("tellWaiting", return_json)
return return_json
def removeDownloadResult(self, gid):
"""
删除下载结束的任务
:param gid: 任务ID
:return:
"""
data = {"jsonrpc": "2.0", "method": "aria2.removeDownloadResult", "id": self.id, "params": [gid]}
req = requests.post(url=self.api, data=json.dumps(data))
return_json = req.json()
req.close()
# print("removeDownloadResult", return_json)
return return_jsonpython教程
Aria2的API接口进行批量下载Python源码
- Aria2
- 批量下载
- Python源码
-
在线版Aria2 WebUI加速下载工具
又一款在线版Aria2 WebUI加速下载工具,可以在线Aria2加速下载,再也不用下载软件版了。记得使用前需要修改Aria2 RPC 主机和端口配置才可以正常使用。在线Aria2工具截图...
-
最新可用Aria2多线程下载工具DOS版
最新可用Aria2多线程下载工具DOS版,2021年3月7日测试可正常加速使用,配合直连工具,10M秒下载百度云盘资源。注意下载后的文件需要修改下后缀名,下载前的后缀是什么就改成什么。测试360会报毒,我的站长...
-
Aria2在线下载工具网页版
Aria2在线下载工具网页版,无需下载Aria2就可以在线使用Aria2加速下载服务。Aria2 跟 IDM 类似,不仅可以多线程下载,还可以通过多来源进行下载,简单的说就是从多个镜像服务器同时下载一个文件,Aria2 还...
-
基于Aria2批量下载API接口源码
import requestsimport json class Aria2Download: def __init__(self): self.api = "http://localhost:6800/jsonrpc" # 消息id,aria2会原样返回这个id,可以自动生成也可以用其他唯一标识 self.id = "QXJpYU5nXzE2NzUxMzUwM...
-
酷狗音乐歌单批量下载器
将自己需要下载的歌放进一个列表->分享列表->选择qq空间分享->复制qq空间上的分享的酷狗链接将链接填入软件,点击获取歌单开始下载即可。...
-
吾爱分享酷狗音乐批量下载软件
吾爱分享酷狗音乐批量下载软件,本音乐下载软件为歌单批量下载,所以在下之前需要把歌曲收藏进歌单,然后分享才能下载。酷狗音乐下载使用方法一、将自己需要下载的歌放进一个列表。分享列表。选择qq空...
-
Json压缩和格式化工具,附Python源码
软件介绍一款Json压缩和格式化工具,可以在线Json压缩和格式化。基于Python库开发,附上Python源码,GUI没有美化,巨丑。软件截图Python源码import jsonimport tkinter as tkdef json_compress(json_str...
-
python打飞机小游戏源码+成品打包
python源码用的pygame库,自带的random和os。程序运行需要的图片,声音和字体下载链接: https://pan.baidu.com/s/1KItG2usXOM_xcxcdHIixaw 提取码: qmweimport pygameimport randomimport os FPS = 60WIDTH = 500HEIGHT = 600 BLACK = (0, 0, 0)WHITE =...
-
原创力文库Python爬虫下载源码
# !/usr/bin/python# -*- coding: UTF-8 -*-import reimport jsonimport osimport shutilimport sysimport timeimport requestsimport img2pdffrom PIL import Image from alive_progress import alive_barfrom requests.exceptions import SSLErro...
-
Python汉字笔顺图及书写gif动画生成代码
基于Github的makemeahanzi项目开发,项目地址:https://www.skishore.me/makemeahanzi/笔顺图及书写动画实现里...
-
Python获取彩云天气实时天气API源码
import requests # 用户输入的秘钥和经纬度(以逗号分隔)api_key = "" # 这里输入用户自己的秘钥location = "...
-
基于Django的RustDesk Api&Web Server源码分享
项目介绍一个 python 实现的 Rustdesk API 接口,支持 WebUI 管理。基于Django的RustDes...
-
批量修改照片文件大小Python脚本
一段批量修改照片文件大小Python脚本,输入和输出图片文件夹,图片你的最大和最小标准,批量调整照片文件大小。# ...
-
文本段落自动分隔格式化Python脚本
我们在做网站时,需要处理大量的文本内容,要求文本段落内容按我们的格式分隔排版,手动一个个的修改就非常浪费时...

