Опыт не требуется!

Пакеты и установка

Все, что нам нужно, это wikipedia:

# In terminal
pip install wikipedia
# In project
import wikipedia

Выбор статей

В Википедию встроена случайная функция, поэтому мы можем просто использовать ее, pages = 1 означает, что мы хотим получить только одну статью.

read = wikipedia.random(pages=1)

Вы заметите, что если мы это распечатаем, вы получите заголовок, но не сможете получить доступ ни к одному из атрибутов страницы.

# In project
print(read)
# Output
The Big Bang Theory

К счастью, есть обходной путь, который мы можем использовать.

Поскольку у нас уже есть заголовок, мы можем вызвать функцию .page() в wikipedia и присвоить ей заголовок в качестве параметра.

read = wikipedia.page(read)

Теперь мы можем получить все элементы страницы.

# Examples include:
read._categories
read.original_title
read.pageid
read.title
read.url
read._categories
# AND MANY MORE! Read the Docs

Вы можете добавить столько, сколько хотите, но я сосредоточусь только на заголовке и резюме.

На самом деле вы можете закончить здесь и распечатать заголовок, URL-адрес, резюме всякий раз, когда вы запускаете программу. Но где же веселье без пользовательского ввода?

Интерактивность

Мы можем использовать цикл while для ожидания сообщения об уничтожении.

inp = ''
while inp.lower() != 'quit':
    read = wikipedia.random(pages=1)
    read = wikipedia.page(read)
    print('Title: ' + read.title)
    print('Summary: ' + read.summary)

И попросите пользователя ввести эту информацию после того, как покажете ему эту информацию.

inp = input('Want to read it? ')

Если пользователь говорит 'no' или какую-то тарабарщину, мы можем просто пройти.

if inp.lower() == 'no':
    pass
else:
    pass

Но, если пользователь говорит 'yes', мы можем открыть ссылку в новой вкладке браузера.

# IMPORT AT TOP OF THE PROJECT
import webbrowser
# IN WHILE LOOP AFTER INPUT
if inp.lower() == 'yes':
    webbrowser.open(read.url, new=1)
else:
    pass

Нам не нужно писать дополнительный if оператор для 'quit’, потому что цикл немедленно остановится.

Готовый код:

Давай запустим!

Заключение

Спасибо! Надеюсь, вам понравилось это читать, и что ваша программа работает хорошо! Если у вас есть вопросы, предложения, общие отзывы или ваш код не работает, оставьте комментарии!

Продолжайте кодировать!

Больше контента на plainenglish.io