我 100% 确定这不是我的互联网连接/速度问题。我想使用 Python 从 GitHub 下载一个包含 10K+ 行 (24 MB) 的 text/json 文件,但无论是使用 urllib.request 还是 requests,下载时间都太长。我似乎无法在网上找到任何与此相关的解决方案,我在网上找到的所有参考文献要么是小文本文件,要么是分成块的巨大文件大小。
import requests
url = 'https://raw.githubusercontent.com/json-iterator/test-data/master/large-file.json'
r = requests.get(url)
open('large-file.json', 'wb').write(r.content)
这对我来说太长了(1分钟多)。如果我从浏览器手动下载,不到10秒。
我使用相同的代码,执行时间不到2秒。
import requests
from timeit import timeit
def get_data():
url = 'https://raw.githubusercontent.com/json-iterator/test-data/master/large-file.json'
r = requests.get(url)
open('large-file.json', 'wb').write(r.content)
t = r.elapsed.total_seconds()
print(f"{t} seconds elapsed")
print(f"{timeit(get_data, number=1)} seconds")
这是输出:
发送请求和到达响应之间的经过时间为 0.268242 秒,而代码片段的执行时间为 1.747152 秒。