Ich studiere die Wikipedia API,
Was ist die Seiten-ID? Wie ändere ich es in eine echte Seiten-URL?
Ich meine <page pageid="18630637" ns="0" title="Translation" />
, wie sich ändern 18630637
in http://en.wikipedia.org/wiki/Translation
?
Ich studiere die Wikipedia API,
Was ist die Seiten-ID? Wie ändere ich es in eine echte Seiten-URL?
Ich meine <page pageid="18630637" ns="0" title="Translation" />
, wie sich ändern 18630637
in http://en.wikipedia.org/wiki/Translation
?
Antworten:
Das pageid
ist der interne Artikel - ID des MediaWiki. Sie können die info
Eigenschaft der Aktions-API verwenden , um die vollständige URL abzurufen von pageid
:
https://en.wikipedia.org/w/api.php?action=query&prop=info&pageids=18630637&inprop=url
pageid
/ title
von einem bestimmten url
?
titles
stattdessen den Parameter verwenden:https://en.wikipedia.org/w/api.php?action=query&prop=info&titles=Stack_Overflow
url
können wir bekommen title
oder pageid
?
Sie können einfach eine URL wie diese verwenden:
http://en.wikipedia.org/?curid=18630637
Dies ist die kürzeste Form, andere sind auch möglich:
http://en.wikipedia.org/wiki?curid=18630637
http://en.wikipedia.org/wiki/Translation?curid=18630637
http://en.wikipedia.org/w/index.php?curid=18630637
Beachten Sie, dass MediaWiki den Seitentitel ignoriert, wenn Sie ein Curid angeben, also sogar
http://en.wikipedia.org/wiki/FooBar?curid=18630637
führt zur gleichen Seite.
https://en.wikipedia.org/w/index.php?title=Whistling_hare
Weiterleitungen nach https://en.wikipedia.org/wiki/Pika
. Für diese Seiten redirect=no
existiert param ( https://en.wikipedia.org/w/index.php?title=Whistling_hare&redirect=no
). Ich hoffe auf eine URL wie https://en.wikipedia.org/w/index.php?curid=186307&redirect=yes
. Tatsächlich https://en.wikipedia.org/w/index.php?curid=186307
wird standardmäßig amhttps://en.wikipedia.org/w/index.php?title=Pika&curid=186307
Oh, und Sie können bei Ihrem ersten API-Aufruf auch die ganzseitige URL abrufen, wenn Sie "& prop = info & inprop = url" hinzufügen: