Как с помощью Python извлечь данные из Википедии

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

Я должен сказать, что не собираюсь ковыряться в страницах Википедии вручную, модуль wikipedia уже сделал за нас тяжелую работу. Установим:

pip3 install wikipedia

Откройте интерактивную оболочку Python или пустой файл и следуйте инструкциям.

Давайте кратко рассмотрим, что такое язык программирования Python:

import wikipedia
# распечатать резюме того, что такое питон
print(wikipedia.summary("Python Programming Language"))

Таким образом получим резюме страницы «Python Programming Language» википедии. В частности, будет напечатано несколько первых предложений, можно указать количество предложений для извлечения:

wikipedia.summary("Python programming languag", sentences=2)
"Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace."

Обратите внимание, что я намеренно ошибся в запросе, но по-прежнему получаю нужный мне результат.

Ищем термин в Википедии:

result = wikipedia.search("Neural networks")
print(result)
['Neural network', 'Artificial neural network', 'Convolutional neural network', 'Recurrent neural network', 'Rectifier (neural networks)', 'Feedforward neural network', 'Neural circuit', 'Quantum neural network', 'Dropout (neural networks)', 'Types of artificial neural networks']

Получили список связанных заголовков страниц, давайте получим всю страницу для «Neural network», которая является «результатом [0]»:

# получить страницу: Neural network
page = wikipedia.page(result[0])

Извлечение заголовка:

# получим заголовок страницы
title = page.title

Получим все категории этой страницы Википедии:

# получение категорий страницы
categories = page.categories

Извлечение текста после удаления всех HTML-тегов (выполняется автоматически):

# получить весь текст (содержание) страницы Википедии
content = page.content

Все ссылки:

# получение всех ссылок на странице
links = page.links

Ссылки:

# получить использованную литературу
references = page.references

Наконец, резюме:

# в итоге
summary = page.summary

Распечатаем их:

# напечатаем инфо
print("Содержание страницы:\n", content, "\n")
print("Заголовок страницы:", title, "\n")
print("Категории:", categories, "\n")
print("Ссылки:", links, "\n")
print("Использованная литература:", references, "\n")
print("Резюме:", summary, "\n")

Попробуйте!

Вы также можете изменить язык в библиотеке Википедии на Python с английского на другой по вашему выбору:

# изменим язык
# список доступных языков посмотрите 
# здесь http://meta.wikimedia.org/wiki/List_of_Wikipedias link.
language = "ru"
wikipedia.set_lang(language)
# получить страницу и распечатать резюме на новом языке
print(f"Резюме для 'web scraping' для языка {language}:", wikipedia.page("Web Scraping").summary)

Выше я изменил язык с помощью функции wikipedia.set_lang(), а затем после этого извлек наши страницы обычным образом. Список доступных языков можно найти по этой ссылке.

Хорошо, я закончил, это было краткое введение в то, как можно извлекать информацию из Википедии на Python. Это может быть полезно, если вы хотите автоматически собирать данные для языковых моделей, создавать чат-бота с ответами на вопросы, создавать приложение-оболочку для этого и многое другое! Возможности безграничны, расскажите, что вы с этим сделали, в комментариях ниже!

Если вас интересует извлечение данных из видео YouTube, ознакомьтесь с этим руководством.

Посмотрите на полный код здесь и официальную документацию для библиотеки.

По мотивам How to Extract Wikipedia Data in Python

Print Friendly, PDF & Email

CC BY-NC 4.0 Как с помощью Python извлечь данные из Википедии, опубликовано К ВВ, лицензия — Creative Commons Attribution-NonCommercial 4.0 International.


Респект и уважуха

Добавить комментарий