如何更快地下载超过 50K 行的 json 文件?

问题描述 投票:0回答:1

我 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秒。

python json python-3.x python-requests
1个回答
0
投票

我使用相同的代码,执行时间不到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 秒。

© www.soinside.com 2019 - 2024. All rights reserved.