SE::Wikipedia - Wikipedia-Suche Parser
Wikipedia-Scraper-Übersicht
Parser für die Wikipedia-Suchergebnisse. Ermöglicht die Suche nach Enzyklopädie-Artikeln über Schlüsselwörter mithilfe der offiziellen MediaWiki Action API und liefert strukturierte Ergebnisse: Links, Titel, Snippets, Kurzbeschreibungen, Bildvorschauen, Seiten-IDs und Artikelgröße.
Es werden alle Sprachausgaben von Wikipedia unterstützt (en, ru, de, ja, simple, be-tarask usw.). Pro Ergebnisseite gibt es bis zu 20 Ergebnisse (Beschränkung der API-Extracts), Paginierung bis zu 50 Seiten. Duplikate zwischen den Seiten werden automatisch gefiltert.
Die Funktionalität von A-Parser ermöglicht es, Scraper-Einstellungen für die spätere Verwendung zu speichern (Presets), Zeitpläne für die Datenerfassung festzulegen und vieles mehr. Die Speicherung der Ergebnisse ist dank der integrierten leistungsstarken Template-Engine Template Toolkit in jeder gewünschten Form und Struktur möglich.
Um den vollständigen Text eines Artikels zu erhalten, verwenden Sie den Parser SE::Wikipedia::Article.
Gesammelte Daten
Die Daten werden über die API https://{lang}.wikipedia.org/w/api.php (generator=search) gesammelt.
- Gesamtanzahl der Ergebnisse (
totalcount) - Link zum Artikel
- Titel (Anchor)
- Snippet (Plain Text Extract)
- Kurzbeschreibung (Description)
- Bildvorschau (falls vorhanden)
- Page ID
- Artikelgröße (Bytes)
Funktionen
- Suche in jeder Sprachausgabe von Wikipedia (Liste der Sprachausgaben)
- Einstellung der Snippet-Länge (bis zu 1200 Zeichen – Maximum von MediaWiki TextExtracts)
- Paginierung bis zu 50 Seiten × 20 Ergebnisse
- Automatische Deduplizierung von Artikeln zwischen den Ergebnisseiten
- Unterstützung von Proxys und allgemeinen A-Parser-Einstellungen
Anwendungsfälle
- Erstellung von Linkdatenbanken zu Wikipedia-Artikeln
- Auswahl relevanter Artikel nach Keywords für Content und SEO
- Abruf von Snippets und Beschreibungen für Chatbots und Informationssysteme
- Weiterführende Analyse von Artikeln über SE::Wikipedia::Article
Abfragen
Als Abfragen müssen Suchphrasen angegeben werden, zum Beispiel:
Albert Einstein
Iwan Jefremow
Berlin
東京
Kyjiw
Die Suchsprache wird in den Parser-Einstellungen (Wikipedia language) festgelegt, nicht in der Abfrage.
Abfrage-Substitutionen
Sie können integrierte Makros zur Multiplikation von Abfragen verwenden.
Beispiele für die Ergebnisausgabe
A-Parser unterstützt eine flexible Formatierung der Ergebnisse dank der integrierten Template-Engine Template Toolkit, was die Ausgabe in beliebiger Form sowie in strukturierter Form wie CSV oder JSON ermöglicht.
Liste von Links (Standard)
Ergebnisformat:
$serp.format('$link\n')
Beispielergebnis:
https://en.wikipedia.org/wiki/Albert_Einstein
https://en.wikipedia.org/wiki/Hans_Albert_Einstein
https://en.wikipedia.org/wiki/Religious_and_philosophical_views_of_Albert_Einstein
https://en.wikipedia.org/wiki/Albert_Brooks
https://en.wikipedia.org/wiki/Einstein_family
Links + Titel + Snippets
Ergebnisformat:
$serp.format('$link\t$anchor\t$snippet\n')
Beispielergebnis:
https://en.wikipedia.org/wiki/Albert_Einstein Albert Einstein 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...
https://en.wikipedia.org/wiki/Hans_Albert_Einstein Hans Albert Einstein Hans Albert Einstein (May 14, 1904 – July 26, 1973) was a Swiss-American engineer, the second child and first son of physicists Albert Einstein and Mileva Marić. He was a professor of hydraulic engineering at the University of California, Berkeley from...
https://en.wikipedia.org/wiki/Religious_and_philosophical_views_of_Albert_Einstein Religious and philosophical views of Albert Einstein Albert Einstein's religious views have been widely studied and often misunderstood. Albert Einstein stated "I believe in Spinoza's God". He did not believe in a personal God who concerns himself with fates and actions of human beings, a view which he...
Ausgabe in CSV
Ergebnisformat:
[% FOREACH item IN p1.serp; tools.CSVline(item.link, item.anchor, item.snippet, item.description, item.image, item.pageid, item.size); END %]
Starttext:
Link,Titel,Snippet,Beschreibung,Bild,Page ID,Größe
Beispielergebnis:
https://en.wikipedia.org/wiki/Albert_Einstein,"Albert Einstein","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...","German-born theoretical physicist (1879–1955)",https://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Albert_Einstein_Head_cleaned.jpg/330px-Albert_Einstein_Head_cleaned.jpg?utm_source=en.wikipedia.org&utm_campaign=api&utm_content=thumbnail,736,238698
https://en.wikipedia.org/wiki/Hans_Albert_Einstein,"Hans Albert Einstein","Hans Albert Einstein (May 14, 1904 – July 26, 1973) was a Swiss-American engineer, the second child and first son of physicists Albert Einstein and Mileva Marić. He was a professor of hydraulic engineering at the University of California, Berkeley from...","Swiss-American engineer and educator",https://upload.wikimedia.org/wikipedia/commons/c/c9/Hans-Albert-Einstein-1953.jpg?utm_source=en.wikipedia.org&utm_campaign=api&utm_content=thumbnail_unscaled,1373258,14371
Dump in JSON
Ergebnisformat:
[% FOREACH item IN p1.serp;
'{"link":"' _ item.link _ '","anchor":"' _ item.anchor _ '","snippet":"' _ item.snippet _ '"}\n';
END %]
Beispielergebnis:
{"link":"https://en.wikipedia.org/wiki/Albert_Einstein","anchor":"Albert Einstein","snippet":"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..."}
{"link":"https://en.wikipedia.org/wiki/Hans_Albert_Einstein","anchor":"Hans Albert Einstein","snippet":"Hans Albert Einstein (May 14, 1904 – July 26, 1973) was a Swiss-American engineer, the second child and first son of physicists Albert Einstein and Mileva Marić. He was a professor of hydraulic engineering at the University of California, Berkeley from..."}
Mögliche Einstellungen
| Parametername | Standardwert | Beschreibung |
|---|---|---|
| Pages count | 5 | Anzahl der Suchseiten (von 1 bis 50). Auf jeder Seite bis zu 20 Ergebnisse |
| Wikipedia language | en | Sprachausgabe von Wikipedia (en, ru, de, ja, simple, be-tarask usw.). Liste der Sprachausgaben |
| Snippet length | 250 | Länge des Snippets in Zeichen (150–1200). Maximum der API TextExtracts — 1200 |
Die Wikipedia-API kann bei tiefer Paginierung überschneidende Ergebnisse zurückgeben. Der Parser entfernt Duplikate anhand der pageid und protokolliert im Log, wie viele aussortiert wurden.