Я пишу базовый скрипт на Python для получения ответа 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 = reports.get (URL) .json () "C: \ ProgramData \ Anaconda3 \ envs \ scrap_api \ lib \ site-packages \ запросы \ models.py ", строка 897, в json возвращает complexjson.loads (self.text, ** kwargs) Файл" C: \ ProgramData \ Anaconda3 \ envs \ scrap_api \ " lib \ json__init __. py ", строка 348, в загрузках возвращает _default_decoder.decode (s) файл" C: \ ProgramData \ Anaconda3 \ envs \ scrap_api \ lib \ json \ decoder.py ", строка 337, в decode obj, end = self.raw_decode (s, idx = _w (s, 0) .end ()) Файл "C: \ ProgramData \ Anaconda3 \ envs \ scrap_api \ lib \ json \ decoder.py", строка 355, в raw_decode вызвать JSONDecodeError (" Ожидаемое значение ", s, err.value) из None json.decoder.JSONDecodeError: Ожидаемое значение: строка 1, столбец 1 (символ 0)

0
Haider Ghufran 20 Сен 2019 в 10:20

2 ответа

Лучший ответ
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 с использованием аргументов.

0
Nicolai Mons Mogensen 20 Сен 2019 в 07:31

Я рекомендую вам начать обращаться к справке по API в MediaWiki:

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

0
Benjamín Valero 20 Сен 2019 в 07:26