Получение данных намного проще с помощью строки кода с использованием Wikipedia API.

Вступление

В моем предыдущем посте 5 интересных библиотек Python, которые вы могли пропустить я говорил о 5 недооцененных библиотеках Python, о которых я редко слышал, одна из которых - Wikipedia API. Изучив эту библиотеку, я понял, что она намного круче, чем я ожидал. В этой статье я поделюсь с вами некоторыми примерами использования этой простой, удобной и полезной библиотеки.

Чего ожидать

Поскольку Wikipedia API может извлекать почти все содержимое со страницы Wikipedia, в этом случае нам не нужно сильно полагаться на различные методы очистки данных. Получение данных намного проще с помощью строки кода, использующей Wikipedia API.

Однако следует помнить об одном важном примечании: изначально эта библиотека предназначалась не для расширенного использования. Поэтому, как предлагается в документе, если вы намереваетесь выполнять какие-либо проекты парсинга или автоматические запросы, рассмотрите альтернативы, такие как Pywikipediabot или MediaWiki API, который имеет другие превосходные особенности.

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

!pip install wikipedia
import wikipedia

Как это работает

1. Получение резюме определенных ключевых слов

Если вы хотите получить конкретное количество сводных предложений для чего-либо, просто передайте это как аргумент функции summary(). Например, я пытаюсь понять, что такое Covid-19, в 4 предложениях.

Вывод:

2. Поиск заголовков статей

Search() функция помогает нам искать все заголовки, содержащие определенные ключевые слова. Например, если я хочу получить все заголовки сообщений, относящиеся к «KFC», я передам «KFC» внутри функции поиска.

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

Вывод:

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

3. Поиск по ключевым словам

Если вам есть что искать в уме, но вы не можете точно вспомнить, что это такое, вы можете рассмотреть метод suggest(). Функция возвращает связанные слова.

Предположим, я хочу найти точное имя канцлера Германии, но не помню, как пишется ее имя. Я могу написать то, что помню, это «Анджела Маркель», а остальное пусть suggest() сделает за меня.

Как видите, функция возвращает правильный ответ, которым является «Ангела Меркель».

Вывод:

5. Извлечение содержимого

Если вы хотите извлечь все содержимое Wiki-страницы в текстовом формате, попробуйте атрибут content объекта page.

В приведенном ниже примере я демонстрирую, как получить статью «История KFC». Результат не включает изображения или таблицы, а только простой текст.

Вот как выглядят результаты. Все просто, правда?

Вы даже можете создать цикл для получения различного содержания разных статей, связанных с вашей определенной темой, комбинируя search() и page().content. Давайте попробуем объединить несколько статей для Опры Уинфри.

6. Извлечение URL-адреса страницы.

Вы можете легко извлечь URL-адрес любой страницы в Википедии с атрибутом url объекта page.

Вывод:

7. Извлечение ссылочных URL-адресов

Вы даже можете извлечь все ссылочные URL-адреса на странице Википедии с помощью объекта page и на этот раз другого атрибута, которым является references.

Вывод:

Итак, список внешних ссылок извлекается следующим образом:

8. Получение категории страницы

Что, если я хочу выяснить, как моя статья классифицируется в Википедии? Используется еще одно свойство объекта page, categories.. Я постараюсь найти все внешние ссылки на указанную выше статью «История KFC».

Вывод:

9. Извлечение изображений страниц

Изображения также можно получить с помощью командной строки. Используя page().images,, вы получите ссылку на изображение. Продолжая мой пример, я попытаюсь получить вторую картинку со страницы «История KFC».

Посмотри, что у меня здесь:

Вывод:

https://upload.wikimedia.org/wikipedia/commons/b/b1/Col_Sanders_Restaurant.png 

По ссылке вы попадете в ресторан Sanders ’!

10. Изменение языка вывода

Язык можно изменить на любой язык, если страница существует на этом языке. В этом случае используется Set_lang()method. Немного вне темы, но я думаю, что это отличный способ выучить новые языки. Вы можете попробовать разные языки, чтобы понять конкретный абзац. Все переводы на экране.

Выше я перевел резюме о Вьетнаме на английский.

Вывод:

Последние слова

Это довольно интересно, правда? Википедия - один из крупнейших источников информации в Интернете и естественное место для сбора данных. Благодаря различным функциям Wikipedia API это будет намного проще.

Если у вас есть интересные библиотеки, пожалуйста, поделитесь со мной.

Ссылка

Https://pypi.org/project/wikipedia/