SE::Wikipedia::Article - парсер статей Wikipedia
Обзор парсера
Парсер статей Wikipedia. На вход подаётся ссылка на статью (или короткий формат lang:title), на выходе — полный текст статьи в plain text, краткое описание, каноническая ссылка, thumbnail и оригинальное изображение, категории, языковые версии, Wikidata ID и метаданные ревизии.
Данные получаются через официальный MediaWiki Action API (prop=extracts|info|pageimages|...). Язык определяется из URL или префикса запроса. Редиректы Wikipedia обрабатываются автоматически (например, USA → United States).
Для поиска статей по ключевым словам используйте парсер SE::Wikipedia.
Функционал A-Parser позволяет сохранять настройки парсинга для дальнейшего использования (пресеты), задавать расписание парсинга и многое другое. Сохранение результатов возможно в том виде и структуре которая вам необходима, благодаря встроенному мощному шаблонизатору Template Toolkit.
Собираемые данные
Данные собираются через API https://{lang}.wikipedia.org/w/api.php.
- Заголовок статьи (
title) - Краткое описание (
description) - Полный текст статьи в plain text (
text) - Каноническая ссылка (
link) - Превью изображения (
thumb) - Оригинальное изображение (
image) - Page ID (
pageid) - Размер статьи в байтах (
size) - Язык издания (
lang) - Wikidata ID (
wikidata) - Время последней ревизии (
timestamp) - ID ревизии (
revid) - Список категорий (
categories) - Языковые версии статьи (
langlinks: lang, title, link) - Сырой JSON ответа API (
data)
Возможности
- Разбор desktop-, mobile- и
index.php-ссылок Wikipedia - Короткий формат запроса
lang:title - Автоматическое следование редиректам
- Полный plain text статьи (без HTML/Markdown)
- Категории и языковые ссылки с лимитом API
max(до 500) - Поддержка прокси и общих настроек A-Parser
Варианты использования
- Выгрузка текстов статей для NLP, RAG и баз знаний
- Сбор описаний и изображений для карточек и ботов
- Получение категорий и языковых версий страницы
- Обогащение выдачи SE::Wikipedia полным текстом статьи
Запросы
Поддерживаемые форматы запросов:
- Стандартная ссылка:
https://en.wikipedia.org/wiki/Albert_Einstein
https://ru.wikipedia.org/wiki/Ефремов,_Иван_Антонович
- Мобильная ссылка:
https://en.m.wikipedia.org/wiki/Albert_Einstein
- Ссылка вида
index.php:
https://en.wikipedia.org/w/index.php?title=Albert_Einstein
- С якорем секции (
#...игнорируется):
https://en.wikipedia.org/wiki/Albert_Einstein#Scientific_career
- Короткий формат
lang:title:
en:Albert Einstein
ru:Ефремов, Иван Антонович
eo:Esperanto
Также корректно обрабатываются URL-encoding, _ в title, редиректы и коды языков с дефисом (be-tarask).
Варианты вывода результатов
A-Parser поддерживает гибкое форматирование результатов благодаря встроенному шаблонизатору Template Toolkit, что позволяет ему выводить результаты в произвольной форме, а также в структурированной, например CSV или JSON.
Вывод по умолчанию
Формат результата:
$link\n$title\n$description\n$text\n
Пример результата:
https://en.wikipedia.org/wiki/Albert_Einstein
Albert Einstein
German-born theoretical physicist (1879–1955)
Albert Einstein (14 March 1879 – 18 April 1955) was a German-born theoretical physicist best known for developing the theory of relativity. Einstein also made important contributions to quantum theory. His mass–energy equivalence formula E = mc2, which arises from special relativity, has been called "the world's most famous equation". He received the 1921 Nobel Prize in Physics for "his services to theoretical physics, and especially for his discovery of the law of the photoelectric effect".
Born as a subject to the Kingdom of Württemberg, part of the German Empire, Einstein moved to Switzerland in 1895, forsaking his citizenship the following year. In 1896, at the age of seventeen, he enrolled in the mathematics and physics teaching diploma program at the Swiss federal polytechnic school in Zurich, graduating in 1900. He acquired Swiss citizenship a year later, which he kept for the rest of his life, and afterwards secured a permanent position at the Swiss Patent Office in Bern. In 1905, he submitted a successful PhD dissertation to the University of Zurich. In 1914, he moved to Berlin to join the Prussian Academy of Sciences and the Humboldt University of Berlin, becoming director of the Kaiser Wilhelm Institute for Physics in 1917; he also became a Prussian and consequently also German citizen again. In 1933, while Einstein was visiting the United States, Adolf Hitler came to power in Germany. Horrified by the Nazi persecution of his fellow Jews, he decided to remain in the US, and was granted American citizenship in 1940. On the eve of World War II, he endorsed a letter to President Franklin D. Roosevelt alerting him to the potential German nuclear weapons program and recommending that the US begin similar research, later carried out as the Manhattan Project.
...
Заголовок + описание + ссылка
Формат результата:
$title\t$description\t$link\n
Пример результата:
Albert Einstein German-born theoretical physicist (1879–1955) https://en.wikipedia.org/wiki/Albert_Einstein
Вывод в CSV
Формат результата:
[% tools.CSVline(title, description, link, pageid, wikidata, lang, size) %]
Начальный текст:
Заголовок,Описание,Ссылка,Page ID,Wikidata,Язык,Размер
Пример результата:
"Albert Einstein","German-born theoretical physicist (1879–1955)",https://en.wikipedia.org/wiki/Albert_Einstein,736,Q937,en,238698
Категории
Формат результата:
$categories.format('$name\n')
Пример результата:
1879 births
1955 deaths
19th-century American Jews
19th-century German Jews
19th-century Swiss Jews
20th-century American engineers
20th-century American inventors
20th-century American letter writers
20th-century American male writers
20th-century American physicists
Языковые версии
Формат результата:
$langlinks.format('$lang\t$title\t$link\n')
Пример результата:
ab Еинштеин, Алберт https://ab.wikipedia.org/wiki/%D0%95%D0%B8%D0%BD%D1%88%D1%82%D0%B5%D0%B8%D0%BD,_%D0%90%D0%BB%D0%B1%D0%B5%D1%80%D1%82
af Albert Einstein https://af.wikipedia.org/wiki/Albert_Einstein
gsw Albert Einstein https://als.wikipedia.org/wiki/Albert_Einstein
am አልበርት አይንስታይን https://am.wikipedia.org/wiki/%E1%8A%A0%E1%88%8D%E1%89%A0%E1%88%AD%E1%89%B5_%E1%8A%A0%E1%8B%AD%E1%8A%95%E1%88%B5%E1%89%B3%E1%8B%AD%E1%8A%95
de Albert Einstein https://de.wikipedia.org/wiki/Albert_Einstein
ru Эйнштейн, Альберт https://ru.wikipedia.org/wiki/%D0%AD%D0%B9%D0%BD%D1%88%D1%82%D0%B5%D0%B9%D0%BD,_%D0%90%D0%BB%D1%8C%D0%B1%D0%B5%D1%80%D1%82
Дамп в JSON
Формат результата:
[%
obj = {};
obj.title = title;
obj.description = description;
obj.link = link;
obj.pageid = pageid;
obj.wikidata = wikidata;
obj.lang = lang;
obj.json _ "\n"
%]
Пример результата:
{"wikidata":"Q937","link":"https://en.wikipedia.org/wiki/Albert_Einstein","lang":"en","pageid":"736","title":"Albert Einstein","description":"German-born theoretical physicist (1879–1955)"}
Возможные настройки
У парсера нет уникальных опций в UI: язык и title берутся из запроса. Используются только общие настройки (прокси, retries и т.д.).