SE::Wikipedia::Article - scraper artykułów Wikipedia
Przegląd scrapera
Scraper artykułów Wikipedia. Na wejściu podawany jest link do artykułu (lub krótki format lang:title), na wyjściu — pełny tekst artykułu w plain text, krótki opis, link kanoniczny, thumbnail i oryginalny obraz, kategorie, wersje językowe, Wikidata ID oraz metadane rewizji.
Dane są pobierane przez oficjalne MediaWiki Action API (prop=extracts|info|pageimages|...). Język jest określany na podstawie adresu URL lub prefiksu zapytania. Przekierowania Wikipedii są obsługiwane automatycznie (na przykład USA → United States).
Do wyszukiwania artykułów według słów kluczowych należy użyć scrapera SE::Wikipedia.
Funkcjonalność A-Parser pozwala zapisywać ustawienia scrapowania do późniejszego wykorzystania (presety), ustalać harmonogram scrapowania i wiele więcej. Zapisywanie wyników jest możliwe w dowolnej formie i strukturze, dzięki wbudowanemu potężnemu silnikowi szablonów Template Toolkit.
Zbierane dane
Dane są zbierane przez API https://{lang}.wikipedia.org/w/api.php.
- Tytuł artykułu (
title) - Krótki opis (
description) - Pełny tekst artykułu w plain text (
text) - Link kanoniczny (
link) - Podgląd obrazu (
thumb) - Oryginalny obraz (
image) - Page ID (
pageid) - Rozmiar artykułu w bajtach (
size) - Język wydania (
lang) - Wikidata ID (
wikidata) - Czas ostatniej rewizji (
timestamp) - ID rewizji (
revid) - Lista kategorii (
categories) - Wersje językowe artykułu (
langlinks: lang, title, link) - Surowa odpowiedź JSON z API (
data)
Możliwości
- Parsowanie linków Wikipedia w wersji desktop, mobile oraz
index.php - Krótki format zapytania
lang:title - Automatyczne podążanie za przekierowaniami
- Pełny plain text artykułu (bez HTML/Markdown)
- Kategorie i linki językowe z limitem API
max(do 500) - Wsparcie dla proxy i ogólnych ustawień A-Parser
Warianty zastosowania
- Eksport tekstów artykułów dla NLP, RAG i baz wiedzy
- Zbieranie opisów i obrazów dla kart produktów i botów
- Pobieranie kategorii i wersji językowych strony
- Wzbogacanie wyników SE::Wikipedia o pełny tekst artykułu
Zapytania
Obsługiwane formaty zapytań:
- Standardowy link:
https://en.wikipedia.org/wiki/Albert_Einstein
https://ru.wikipedia.org/wiki/Ефремов,_Иван_Антонович
- Link mobilny:
https://en.m.wikipedia.org/wiki/Albert_Einstein
- Link typu
index.php:
https://en.wikipedia.org/w/index.php?title=Albert_Einstein
- Z kotwicą sekcji (
#...jest ignorowane):
https://en.wikipedia.org/wiki/Albert_Einstein#Scientific_career
- Krótki format
lang:title:
en:Albert Einstein
pl:Jefriemow, Iwan Antonowicz
eo:Esperanto
Poprawnie obsługiwane są również URL-encoding, _ w tytule, przekierowania oraz kody języków z myślnikiem (be-tarask).
Warianty wyprowadzania wyników
A-Parser obsługuje elastyczne formatowanie wyników dzięki wbudowanemu silnikowi szablonów Template Toolkit, co pozwala na wyprowadzanie wyników w dowolnej formie, a także w strukturze takiej jak CSV lub JSON.
Wyprowadzanie domyślne
Format wyniku:
$link\n$title\n$description\n$text\n
Przykład wyniku:
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.
...
Tytuł + opis + link
Format wyniku:
$title\t$description\t$link\n
Przykład wyniku:
Albert Einstein German-born theoretical physicist (1879–1955) https://en.wikipedia.org/wiki/Albert_Einstein
Wyprowadzanie do CSV
Format wyniku:
[% tools.CSVline(title, description, link, pageid, wikidata, lang, size) %]
Tekst początkowy:
Tytuł,Opis,Link,Page ID,Wikidata,Język,Rozmiar
Przykład wyniku:
"Albert Einstein","German-born theoretical physicist (1879–1955)",https://en.wikipedia.org/wiki/Albert_Einstein,736,Q937,en,238698
Kategorie
Format wyniku:
$categories.format('$name\n')
Przykład wyniku:
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
Wersje językowe
Format wyniku:
$langlinks.format('$lang\t$title\t$link\n')
Przykład wyniku:
ab Einstein, Albert 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 Einstein, Albert 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
Zrzut do JSON
Format wyniku:
[%
obj = {};
obj.title = title;
obj.description = description;
obj.link = link;
obj.pageid = pageid;
obj.wikidata = wikidata;
obj.lang = lang;
obj.json _ "\n"
%]
Przykład wyniku:
{"wikidata":"Q937","link":"https://en.wikipedia.org/wiki/Albert_Einstein","lang":"en","pageid":"736","title":"Albert Einstein","description":"German-born theoretical physicist (1879–1955)"}
Możliwe ustawienia
Scraper nie posiada unikalnych opcji w interfejsie użytkownika: język i tytuł są pobierane z zapytania. Używane są tylko ogólne ustawienia (proxy, retries itp.).