Я пытаюсь получить ответ JSON от Википедии API, но я получаю ошибку - PullRequest
0 голосов
/ 20 сентября 2019

Я пишу базовый скрипт на 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 = запросы.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, в декодированном объекте, 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)

Ответы [ 3 ]

0 голосов
/ 20 сентября 2019
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 голосов
/ 20 сентября 2019
import requests

response = requests.get(
   'https://api.github.com',
    params={'q': 'requests+language:python'},
    headers={'Accept': "application/vnd.github.v3.text-match+json"},
)

# View the new `text-matches` array which provides information
# about your search term within the results
json_response = response.json()

print(f'Text matches: {json_response}')
0 голосов
/ 20 сентября 2019

Я рекомендую вам начать обращаться к справке 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

...