Approccio 1: utilizzando un'API nella Wikimedia wiki farm
Per ottenere tutti prefissi interwiki che un wiki conosce, utilizzare la meta del modulo delle API MediaWiki, e interrogare qualsiasi progetto per siprop=interwikimap
:
https://en.wikipedia.org/w/api.php?action=query&meta=siteinfo&siprop=interwikimap
Si otterrà una vasta gamma di oggetti come questo:
{
"prefix": "aa",
"local": "",
"language": "Qaf\u00e1r af",
"url": "https://aa.wikipedia.org/wiki/$1",
"protorel": ""
}
protorel
indica se l'url è un protocollo relativo o meno (ad es. a partire da //
. Per i wiki WikiMedia, inizieranno con https
. Lo $1
nell'URL è, come avresti immaginato, un segnaposto per il titolo.
per ottenere solo i wiki nella stessa wikifarm (ad es Wikimedia wikis), aggiungere sifilteriw=local
alla query:
https://sv.wikipedia.org/w/api.php?action=query&meta=siteinfo&siprop=interwikimap&sifilteriw=local
per ricavare il nome in voi langue uso siinlanguagecode
, come questo (tutti i wiki Wikimedia, con i loro nomi svedesi, recuperato dall'arabo Wikipedia, ma avrebbe potuto essere qualsiasi endpoint in azienda wiki):
https://ar.wikipedia.org/w/api.php?action=query&meta=siteinfo&siprop=interwikimap&sifilteriw=local&siinlanguagecode=sv
da qui si dovrà filtrare ad esempio, le Wikipedie.
Approccio 2: Utilizzo Wikistats a wmflabs
un elenco già filtrati per tipo di progetto è disponibile presso http://wikistats.wmflabs.org (CSV), dove è possibile filtrare Wikipedia, Wikiversità, etc. Il file CSV viene aggiornato base giornaliera, ma lo strumento è sperimentale e potrebbe non esserci per sempre.
In entrambi gli approcci, i wiki Wikimedia Incubator non verranno visualizzati.
Questa sembra una soluzione al mio problema. Avrò bisogno di tempo per testare e dare un feedback. –
Se si utilizza un linguaggio tipografico, accertarsi di testare la proprietà 'closed' con undefined o usando' .hasOwnProperty() ', poiché una stringa vuota può essere valutata su false. –