Опыт не требуется!
Пакеты и установка
Все, что нам нужно, это 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