SE::Wikipedia - scraper di ricerca Wikipedia
Panoramica dello scraper
Scraper della SERP di Wikipedia. Consente di cercare articoli dell'enciclopedia tramite parole chiave utilizzando l'ufficiale MediaWiki Action API e di ottenere risultati strutturati: link, titoli, snippet, brevi descrizioni, anteprime delle immagini, ID delle pagine e dimensioni degli articoli.
Sono supportate tutte le edizioni linguistiche di Wikipedia (en, ru, de, ja, simple, be-tarask, ecc.). Su una singola pagina dei risultati — fino a 20 risultati (limite degli estratti API), paginazione — fino a 50 pagine. I duplicati tra le pagine vengono filtrati automaticamente.
Le funzionalità di A-Parser consentono di salvare le impostazioni di scraping per un uso futuro (preset), impostare programmi di scraping e molto altro. Il salvataggio dei risultati è possibile nella forma e nella struttura necessarie, grazie al potente motore di modelli integrato Template Toolkit.
Per ottenere il testo completo dell'articolo, utilizzare lo scraper SE::Wikipedia::Article.
Dati raccolti
I dati vengono raccolti tramite l'API https://{lang}.wikipedia.org/w/api.php (generator=search).
- Numero totale di risultati (
totalcount) - Link all'articolo
- Titolo (anchor)
- Snippet (estratto in testo semplice)
- Breve descrizione (description)
- Anteprima dell'immagine (se presente)
- Page ID
- Dimensione dell'articolo (byte)
Funzionalità
- Ricerca in qualsiasi edizione linguistica di Wikipedia (elenco delle edizioni)
- Configurazione della lunghezza dello snippet (fino a 1200 caratteri — massimo per MediaWiki TextExtracts)
- Paginazione fino a 50 pagine × 20 risultati
- Deduplicazione automatica degli articoli tra le pagine dei risultati
- Supporto per proxy e impostazioni generali di A-Parser
Casi d'uso
- Raccolta di database di link ad articoli di Wikipedia
- Selezione di articoli pertinenti tramite chiavi per contenuti e SEO
- Ottenimento di snippet e descrizioni per chatbot e sistemi di consultazione
- Ulteriore analisi degli articoli tramite SE::Wikipedia::Article
Query
Come query è necessario indicare frasi di ricerca, ad esempio:
Albert Einstein
Ivan Efremov
Berlin
東京
Kyiv
La lingua di ricerca viene impostata nelle impostazioni dello scraper (Wikipedia language), non nella query.
Sostituzioni nelle query
È possibile utilizzare le macro integrate per moltiplicare le query.
Esempi di output dei risultati
A-Parser supporta una formattazione flessibile dei risultati grazie al motore di modelli integrato Template Toolkit, che gli consente di restituire i risultati in forma libera o strutturata, come CSV o JSON.
Elenco di link (predefinito)
Formato del risultato:
$serp.format('$link\n')
Esempio di risultato:
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
Link + titoli + snippet
Formato del risultato:
$serp.format('$link\t$anchor\t$snippet\n')
Esempio di risultato:
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...
Output in CSV
Formato del risultato:
[% FOREACH item IN p1.serp; tools.CSVline(item.link, item.anchor, item.snippet, item.description, item.image, item.pageid, item.size); END %]
Testo iniziale:
Link,Titolo,Snippet,Descrizione,Immagine,Page ID,Dimensione
Esempio di risultato:
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
Formato del risultato:
[% FOREACH item IN p1.serp;
'{"link":"' _ item.link _ '","anchor":"' _ item.anchor _ '","snippet":"' _ item.snippet _ '"}\n';
END %]
Esempio di risultato:
{"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..."}
Impostazioni possibili
| Nome parametro | Valore predefinito | Descrizione |
|---|---|---|
| Pages count | 5 | Numero di pagine di ricerca (da 1 a 50). Fino a 20 risultati per pagina |
| Wikipedia language | en | Edizione linguistica di Wikipedia (en, ru, de, ja, simple, be-tarask ecc.). Elenco delle edizioni |
| Snippet length | 250 | Lunghezza dello snippet in caratteri (150–1200). Massimo API TextExtracts — 1200 |
L'API di Wikipedia, in caso di paginazione profonda, può restituire risultati sovrapposti. Lo scraper rimuove i duplicati in base al pageid e scrive nel log quanti ne sono stati scartati.