使用Python获取json数据的最快、更好的方法

2024-09-30 16:37:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是json服务,通过这种方式获取数据:

import urllib2
import json
url = "http://nominatim.openstreetmap.org/reverse?format=json&lat=52.5487429714954&lon=-1.81602098644987&zoom=18&addressdetails=1"
r = urllib2.urlopen(url)
data = json.load(r)

我需要在第二个大约10-50个查询。最好的办法是什么?在

PD:没有json服务限制。
谢谢


Tags: orgimportjsonformathttpurl方式urllib2
1条回答
网友
1楼 · 发布于 2024-09-30 16:37:05

在python方面您无能为力。在

如果this issue对您没有问题,您可以考虑使用最新的simplejson,这比标准库json的加载速度快得多。请记住,虽然直接比较库时反序列化更快,但是考虑到整个请求/响应周期,这种差异可能不值得。在

对于运行并行请求,您应该尝试grequests

urls = ["http://nominatim.openstreetmap.org/reverse?format=json&lat=52.5487429714954&lon=-1.81602098644987&zoom=18&addressdetails=1",
        ....
       ]

requests = (grequests.get(u) for u in urls)

responses = grequests.map(requests)

for r in responses:
    print r.json()

显然,即使并行启动50个请求,也会受到网络和远程服务器性能的限制。在

相关问题 更多 >