Frage

Ich bin Parsen wikipedia Infoboxen und ich bemerkte, dass einige Infobox Bildfelder haben - diese Felder halten Namen von Bilddateien auf wikipedia irgendwo gebunkert. Allerdings enthalten sie nur den Namen der Datei, wie im Gegensatz zu dem eigentlichen Link ist.

Ich habe die Links der Bilder auf echte Live-Infoboxen und die Links scheinen nicht von einer Quelle zu sein, aber die Quellen variieren. Wie kann ich ein Bild auf wikipedia Hyperlink bedenkt, dass ich nur den Namen des Bildes von einem infobox Eintrag haben.

War es hilfreich?

Lösung

Haben Sie http://en.wikipedia.org/wiki/File:filename.jpg versucht? Auch wenn die Dateien auf Wikimedia Commons befinden, sollte die obige URL immer noch funktionieren.

Edit: Versuchen Sie, um das Bild zu hotlink? Wenn ja, verbietet Wikipedia hotlinking. http://commons.wikimedia.org/wiki/Commons:Reusing_content_outside_Wikimedia#Hotlinking

Aktualisieren 10-Jan-2019: Hotlinking ist jetzt erlaubt :

  

Hotlinking oder InstantCommons : Es ist möglich, Dateien zu verwenden, um direkt auf   Commons innerhalb einer anderen Website, indem ein MediaWiki Wiki Einrichtung mit   InstantCommons, ...

Andere Tipps

Nach Was die seltsam genannten Komponenten in Wikipedia Dateipfade sind Sie müssen md5 laufen uRL zu erfahren. Jetzt wikipedia erlaubt hotlinking, so:

Wenn Sie utf-8 kodierten $name haben, müssen Sie Folgendes tun:

$filename = replace($name, ' ', '_');
$digest = md5($filename);
$folder = $digest[0] . '/' . $digest[0] . $digest[1] . '/' .  urlencode($filename);
$url = 'http://upload.wikimedia.org/wikipedia/commons/' . $folder;

Das gleiche gilt für die Thumbnails verwendet werden.

Hier ist eine JavaScript-Implementierung einer Arbeits PHP Antwort (Kredite an Yuri Baburov):

var name = "filename.jpg";
var filename = name.replace(/ /g, "_"); 
var digest = md5(filename);
var folder = digest[0] + '/' + digest[0] + digest[1] + '/' + encodeURIComponent(filename);
var url = 'http://upload.wikimedia.org/wikipedia/commons/' + folder;

Beachten Sie, dass externe md5() Funktion enthalten muss ( https://github.com/blueimp/JavaScript-MD5 ); es ist nicht heimisch JS.

Es gibt jetzt einen einfacheren Weg, um die Dateien auf Wikipedia über die Special: FilePath Seite. Wenn Sie also die Datei Example.jpg auf Englisch Wikipedia verlinkt werden möchten, können Sie https://en.wikipedia.org/wiki/Special:FilePath/Example.jpg verwenden.

ähnliche Links sollten für andere Wikimedia Foundation Sites arbeiten (z. B.. Wikimedia Commons).

Reusing_content_outside_Wikimedia Details und Empfehlungen hotlinking in Bezug auf Wikimedia Commons finden a>.

bemerkte ich, dass der URL-Präfix sollte sein:

http://upload.wikimedia.org/wikipedia/en/thumb/

Darüber hinaus ist der Ordner muss den wiederholten den Namen der Datei enthält, die mit einer Größe als Präfix angegeben:

http://upload.wikimedia.org/wikipedia/en/thumb/d/dd/Ruins-imperial-complex-milan-.jpg/220px-Ruins-imperial-complex-milan-.jpg

$filename = replace($name, ' ', '_');
$digest = md5($filename);
$urlencfile =  urlencode($filename)
$imgwidth = 220
$folder = $digest[0] . '/' . $digest[0] . $digest[1] . '/' . $urlencfile . '/' . $imgwidth . 'px-' . $urlencfile;
$url = 'http://upload.wikimedia.org/wikipedia/en/thumb/' . $folder;
scroll top