2013-05-18 10 views
6

Służyłem do pobierania linków międzyjęzykowych z wyeksportowanego artykułu w Wikipedii przez analizowanie eksportu za pomocą wyrażeń regularnych.Trwa pobieranie linków międzyjęzykowych z wyeksportowanego artykułu z Wikipedii?

W fazie 1 z WikiData project linki te zostały przeniesione na oddzielną stronę Wikidata.

Na przykład artykuł Ore Mountains nie ma już żadnych linków językowych w eksporcie. Łącza do języków są teraz na Q4198.

Jak mogę wyeksportować łącza do języków?

+0

Asimov, jeśli odpowiedź odblokowała twoją sytuację, zweryfikuj ją. (jeśli jest mój to będzie to moja pierwsza sprawdzona odpowiedź) – Hugolpz

Odpowiedz

1

Zmieniłem sposób korzystania z eksportu na API. Można pobierać linki interwikilanguage z właściwością "langlinks", na przykład:

http://en.wikipedia.org/w/api.php?action=query&titles=Ore%20Mountains&prop=langlinks

+2

O ile rozumiem, [to przestanie działać wkrótce, a po pewnym czasie zacznie działać ponownie, jeśli dodasz parametr do zapytania] (http: //osdir.com/ml/general/2013-04/msg48570.html). – svick

+0

To zadziała, ale w miarę jak Wikidata posuwa się naprzód, wszystkie dane interwiki zostaną usunięte z wikipedii i przeniesione do wikidata. Faza 1 powinna już usunąć większość z nich z Wikipedii. – Hugolpz

+0

Użycie api pokazanego w odpowiedzi powoduje pobranie poprawnych linków. Ponieważ łącza interwiki ze strony w pytaniu są już przeniesione do wikidata, przypuszczam, że jest to poprawny sposób na uzyskanie linków. – Asimov

5

Jesteś teraz zachęcani do korzystania z API wikidane: http://wikidata.org/w/api.php

Dla your case, use props=labels. Ten adres URL jest samozapowiedzialny:

http://www.wikidata.org/w/api.php?action=wbgetentities&sites=enwiki&titles=Ore%20Mountains&languages=cs|de|es|fr|it|pl|pt|ru&props=labels&format=xml 
+0

to działa, ale dla niektórych języków otrzymuję wynik, nawet jeśli artykuł nie istnieje na wikipedii. Czy istnieje sposób na rozwiązanie tego problemu? –

+0

Czy możesz pokazać przykład? – Hugolpz

+0

faktem jest, że linki wikipedia to linki do witryn, a nie etykiety. na przykład spróbuj użyć adresu URL z "Giancarlo Magalli" zamiast "Rudawy", będziesz miał wiele języków, nawet jeśli jest dostępny tylko po włosku –

Powiązane problemy