I want to print mid popular summary of random post of certain topic from Wikipedia using Wikipedia API but I am getting completely random topic.
I have tried this:
import requests
def get_wikipedia(topic):
response = requests.get(f"https://en.wikipedia.org/api/rest_v1/page/summary/{topic}")
resp = response.json()
if response.status_code == 200:
summary = resp['extract']
image = resp['thumbnail']['source']
print(summary)
print(image)
else:
print("An error occurred while fetching the summary and image.")
BASE_URL = 'https://en.wikipedia.org/w/api.php'
params = {
'format': 'json',
'action': 'query',
'list': 'random',
'rnnamespace': 0,
'rnlimit': 1,
'rnprop': 'title',
'rnfilterredir': 'nonredirects',
'formatversion': 2,
'utf8': 1,
'utf8mb4': 1,
'titles': 'Quantum Mechanics'
}
response = requests.get(BASE_URL, params=params)
title = response.json()['query']['random'][0]['title']
get_wikipedia(title)
And also I want to print Mid popular (the articles with page views less than 10k per month) topic. How to do it?
The best approach is probably using the search API with something like incategory:"Quantum mechanics"
(see help) and srsort
set to random
.