具有Sodapy clien的API数据出现Readtimeout错误

2024-06-09 15:33:40 发布

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

我正在尝试对消费者投诉数据集进行API调用,该数据集可在线获取(hhttp://data.consumerfinance.gov/dataset/Consumer-Complaints/s6ew-h6mp)使用SodaPy库(https://github.com/xmunoz/sodapy)。我只想得到csv数据,网页上说有906182行

我在GitHub上已经尽我所能地遵循了这个例子,但它就是不起作用。代码如下:

from sodapy import Socrata

client = Socrata("data.consumerfinance.gov", "apptoken", username="myusername", password="mypassword")

results = client.get("s6ew-h6mp")

我想获取整个数据集,但始终收到以下错误:

^{pr2}$

有什么线索可以帮你解决这个问题吗?在


Tags: 数据clientapidataconsumersocrata消费者dataset
3条回答

可能是因为文件太大,连接超时。您可以尝试使用limit选项下载数据的子集,例如

results = client.get("s6ew-h6mp", limit=1000)

也可以使用SoQL keywords查询数据的子集。在

否则,sodapy模块是在requests模块上构建的,因此查看该模块的文档可能会很有用。在

默认情况下,Socrata连接将在10秒后超时。在

您可以通过更新“timeout”实例变量来增加Socrata客户端的超时限制,如下所示:

from sodapy import Socrata

client = Socrata("data.consumerfinance.gov", "apptoken", username="myusername", password="mypassword")

# change the timeout variable to an arbitrarily large number of seconds
client.timeout = 50

results = client.get("s6ew-h6mp")

我认为这实际上可以解决问题:确保从API端点请求数据。4x4 ID稍有不同(在查看数据集here时,单击Export,然后单击SODA API)。尝试:

results = client.get("jhzv-w97w")

相关问题 更多 >