【问题标题】:Invalid syntax querying JSON LOAD on Python在 Python 上查询 JSON LOAD 的语法无效
【发布时间】:2018-05-26 10:48:59
【问题描述】:

我正在尝试从 sig API 打印数据,但它给了我一个错误,尽管 url 是正确的。

import requests
import json
from json import loads
import pandas as pd
import matplotlib as plt

requests.get("https://api.meetup.com/2/groups?zip=eh1+1af&offset=0&city=Edinburgh&format=json&lon=-3.19000005722&category_id=34&photo-host=public&page=500&radius=25.0&fields=&lat=55.9500007629&order=id&desc=false&sig_id=243750775&sig=9072b77fb34f5b84a392da2505fd946c58e94fe5")

错误就在这里,显然(“无效语法”);

print json.load(requests.get("https://api.meetup.com/2/groups?zip=eh1+1af&offset=0&city=Edinburgh&format=json&lon=-3.19000005722&category_id=34&photo-host=public&page=500&radius=25.0&fields=&lat=55.9500007629&order=id&desc=false&sig_id=243750775&sig=9072b77fb34f5b84a392da2505fd946c58e94fe5"))

谢谢

【问题讨论】:

  • 不,你应该这样做requests.get(url).json()
  • 谢谢我已经这样做了,它已经返回了; > 的 > 如何查看我的数据以便将其放入数据框中?
  • 错了,注意大括号()
  • 当然。不会忘记他们:)
  • 如果你添加它们,你将不会得到

标签: python json api pandas python-requests


【解决方案1】:

由于您使用的是requests,您应该知道Response 对象有一个json 方法,您可以调用该方法从HTTP 响应中检索JSON。

r = requests.get(url).json()

type(r)
dict

如果需要,您可以将 JSON 响应 r 加载到数据框中。

df = pd.io.json.json_normalize(r['results'])

【讨论】:

  • 是否可以像在 BeautifulSoup 中那样将其检索为 csv 文件,或者不能通过 JSON 获取?另外,type(r) dict 到底是做什么的?
  • @Sahra bs4 是一个网络爬虫,它适用于 DOM 树,而不是 JSON。 type(r) 只是显示结果已加载,仅此而已。随意忽略。
  • 我的天哪!我从字面上输入了“type(r)dict”作为代码......而type(r)是我的输入,而dict是我的输出......请也忽略这个打嗝!再次感谢
  • @snow_fall 是的,对不起。这是我的习惯,别介意。
  • @coldspeed 不要抱歉。这是个好习惯!我也需要接受。你真的帮了我:))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
  • 2011-12-06
  • 2016-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多