|
12345678910111213141516171819202122232425262728293031323334353637 |
- #!/usr/bin/python3
- import requests
- import sys
- import textwrap
-
- def connection_error():
- print("Could not contact wikipedia servers.")
- sys.exit(1)
-
- def get_random_page():
- params = {
- 'action' : 'query',
- 'format' : 'json',
- 'list' : 'random',
- 'rnlimit' : 1,
- 'rnnamespace' : 0
- }
- try:
- return requests.get('https://en.wikipedia.org/w/api.php', params).json()['query']['random'][0]
- except ConnectionError:
- connection_error()
-
- def get_page_with_summary(title):
- try:
- return requests.get('https://en.wikipedia.org/api/rest_v1/page/summary/' + title).json()
- except ConnectionError:
- connection_error()
-
- def main():
- while True:
- page = get_page_with_summary(get_random_page()['title'])
- if page['type'] == 'standard':
- break
- print(page['title'] + ':\n\n' + textwrap.fill(page['extract'], width=80))
-
- if __name__ == '__main__':
- main()
|