5

ウィキペディアのインフォボックスを解析していて、一部のインフォボックスに画像フィールドがあることに気付きました。これらのフィールドには、ウィキペディアのどこかに隠されている画像ファイルの名前が含まれています。ただし、実際のリンクではなく、ファイルの名前が含まれているだけです。

実際のライブ インフォボックスで画像のリンクを確認しましたが、リンクは 1 つのソースからのものではないように見えますが、ソースはさまざまです。インフォボックスのエントリからの画像の名前しか持っていないことを考慮して、ウィキペディアの画像にハイパーリンクするにはどうすればよいですか。

4

5 に答える 5

12

What are the strangely named components in Wikipedia file pathsによると、URL を調べるには md5 を実行する必要があります。現在、ウィキペディアはホットリンクを許可しているため、次のようになります。

utf-8 でエンコードされている場合$nameは、次の手順を実行する必要があります。

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

同じことがサムネイルにも使用できます。

于 2010-12-21T11:44:55.490 に答える
4

これは、動作する PHP の回答の JavaScript 実装です (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;

md5()外部関数 ( https://github.com/blueimp/JavaScript-MD5 )を含める必要があることに注意してください。JS ネイティブではありません。

于 2015-10-26T11:53:07.007 に答える
0

URL プレフィックスは次のようにする必要があることに気付きました。

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

さらに、フォルダーには、プレフィックスとして指定されたサイズのファイルの繰り返し名が含まれている必要があります。

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;
于 2012-07-27T10:37:29.800 に答える
0

試しましたhttp://en.wikipedia.org/wiki/File:filename.jpgか?ファイルがウィキメディア コモンズにある場合でも、上記の URL は機能するはずです。

編集:画像をホットリンクしようとしていますか?その場合、ウィキペディアはホットリンクを禁止しています。 http://commons.wikimedia.org/wiki/Commons:Reusing_content_outside_Wikimedia#Hotlinking

2019 年 1 月 10 日更新:ホットリンクが許可されるようになりました:

ホットリンクまたは InstantCommons : InstantCommons を使用して MediaWiki wiki を設定することにより、別の Web サイト内の Commons にあるファイルを直接使用することができます。

于 2009-06-22T14:12:35.867 に答える