【问题标题】:Overwrite response from api with python用python覆盖来自api的响应
【发布时间】:2019-10-05 17:33:11
【问题描述】:

我想从 api 获取数据,但是 api 是在页面中呈现的。所以我必须遍历所有这些并将想要的数据保存在变量中。

我试图在循环中附加新页面并将数据添加到我的响应中,但只有我得到的是错误:“TypeError:必须是 str,而不是响应”。我想这样做:

response = "https://api.dane.gov.pl/resources/17201/data?page=1"

for i in range(2,32):
    url = "https://api.dane.gov.pl/resources/17201/data?page="+str(i)
    response += requests.get(url)

data = response.text

当我得到想要提取的数据并对其进行操作时。

【问题讨论】:

    标签: python api response


    【解决方案1】:

    requests.get(url) 返回一个 Response 对象。目前,您正在尝试将 Response 对象添加到字符串中。

    试试这样的:

    response = []
    
    for i in range(2,32):
        url = "https://api.dane.gov.pl/resources/17201/data?page="+str(i)
        response.append(requests.get(url).text)
    

    完成运行后,响应将是一个包含响应文本而不是响应对象的列表。

    【讨论】:

    • 是的,但此时我有一个包含每一页数据的列表,但我希望将所有内容都放在一个变量中,而不是作为列表
    • 你想把所有的 data.text 组合成一个字符串吗?您希望它们如何存储。
    猜你喜欢
    • 1970-01-01
    • 2020-08-27
    • 2019-07-07
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 2022-01-21
    相关资源
    最近更新 更多