我正在尝试获取Wikipedia API的json响应,但我一直收到错误消息

时间:2019-09-20 07:20:14

标签: json python-3.x request response

我正在编写基本的Python脚本,使用以下代码获取Wikipedia api的api响应。我是python的新手,任何人都可以指出我的错误。

import requests
from flask import Flask

URL = 'https://en.wikipedia.org/w/api.php'
r = requests.get(URL).json()
print(r)
  

回溯(最近通话最近一次):文件“ C:/ Users / Haider   Ghufran / PycharmProjects / scrap_api / web_api.py”,第7行,在       r = request.get(URL).json()文件“ C:\ ProgramData \ Anaconda3 \ envs \ scrap_api \ lib \ site-packages \ requests \ models.py”,   第897行,在json中       返回complexjson.loads(self.text,** kwargs)文件“ C:\ ProgramData \ Anaconda3 \ envs \ scrap_api \ lib \ json__init __。py”,行   348,在负载中       返回“ _default_decoder.decode”文件“ C:\ ProgramData \ Anaconda3 \ envs \ scrap_api \ lib \ json \ decoder.py”,行   解码中的337       obj,end = self.raw_decode(s,idx = _w(s,0).end())文件“ C:\ ProgramData \ Anaconda3 \ envs \ scrap_api \ lib \ json \ decoder.py”,行   355,在raw_decode中       从None引发JSONDecodeError(“期望值”,s,err.value)json.decoder.JSONDecodeError:期望值:第1行第1列(字符   0)

2 个答案:

答案 0 :(得分:0)

我建议您开始在MediaWiki中咨询API帮助:

https://www.mediawiki.org/wiki/API:Main_page

默认情况下,结果不以JSON格式返回。例如,这是西班牙维基百科的调用示例,以检索页面的各个部分:

https://es.wikipedia.org/w/api.php?action=parse&pageid=6903884&prop=sections

和JSON中的同一个(向请求中添加format=json

https://es.wikipedia.org/w/api.php?action=parse&pageid=6903884&prop=sections&format=json

答案 1 :(得分:0)

import requests
url = 'http://en.wikipedia.org/w/api.php?action=query&prop=info&format=json&titles=Stanford%20University'
resp = requests.get(url)
data = resp.json()

print(data)

这是使用参数查询api的示例。