【发布时间】:2022-01-08 23:22:50
【问题描述】:
我目前正在做一个从文本文档的链接下载 .mp4 文件的项目,它适用于此代码
import urllib.request
import random
import threading
def request(line):
urllib.request.urlretrieve(line, 'D:\\example_directory\\' +
str(random.randint(1000000, 9999999)) + "-69" +
str(random.randint(100, 999)) + "-" +
str(random.randint(1000000, 9999999)) + ".mp4")
with open('D:\\example_directory\\links.txt') as f:
for line in f:
print(line)
threading.Thread(target=request, args=(line,)).start()
我想使用此代码从专为流媒体构建的网站下载视频,因此将大约 5 秒后的下载速度限制为 120kb/s。我找到了绕过此限制的方法:重置您的连接。可以通过插入和拔出以太网电缆或再次打开和关闭 WiFi 来手动重置连接。
我想知道是否有任何方法可以重置连接,而无需插入和拔出电缆/打开和关闭 WiFi。就像可以导入的包或函数一样,但小故障也会有所帮助。
【问题讨论】:
-
threading.Thread(target=request(line)).start()并没有按照你的想法去做。 -
target=request(line)部分执行request(line)并将关键字参数target设置为等于它返回的值(即None)。请改用Thread(target=lambda line=line: request(line))。 -
已修复,我从旧文件中复制了错误的代码
标签: python multithreading api connection-reset