从 JSON 中抓取数据
Posted
技术标签:
【中文标题】从 JSON 中抓取数据【英文标题】:Scrape data from JSON 【发布时间】:2020-08-14 19:43:12 【问题描述】:我正在使用 Python 制作价格统计项目,但在从 API 抓取数据时遇到问题。 API 是https://www.rolimons.com/api/activity
我想从 API 中获取价格,即一个区块的最后 2 个值。
例如,从[1588247532, 0, "1028606", 464, 465]
我只需要 464 和 465。我也想对所有表都这样做。
我该怎么做?这是我到目前为止的代码:
import requests
import json
r = requests.get('https://www.rolimons.com/api/activity')
content = json.loads(r.content.decode())
for key, value in content.items():
print(key)
【问题讨论】:
【参考方案1】:试一试:
for value in content['activities']:
print(value[-2:])
它遍历活动并打印每个值的最后两项。
或者您可以在单独的列表中收集价格以供以后使用,如下所示:
prices=[value[-2:] for value in content['activities']]
【讨论】:
【参考方案2】:当您不确定如何或为什么时,我建议您使用打印语句。见下文,它可能有助于直观地了解正在发生的事情。
import requests
import json
r = requests.get('https://www.rolimons.com/api/activity')
content = json.loads(r.content.decode())
for key, value in content.items():
print("Key: ", key)
print("content[key]: ", content[key])
for array in content["activities"]:
print("array: ", array)
print("array[len(array)-1]:", array[len(array)-1])
print("array[len(array)-2]:", array[len(array)-2])
【讨论】:
以上是关于从 JSON 中抓取数据的主要内容,如果未能解决你的问题,请参考以下文章
如何将抓取的数据从 Scrapy 以 csv 或 json 格式上传到 Amazon S3?
BeautifulSoup 使用循环从多个 div 中抓取信息到 JSON