> > Joytterでリンク先の画像を取得する方法

Joytterでリンク先の画像を取得する方法

Posted on 2016年9月18日日曜日 | 1 Comment

Joytterではリンク先のウェブサイトの画像を自動で取得し表示する機能があります。
例えば、Youtubeのリンクがあった場合、その動画のサムネイル画像を自動的に取得し表示します。

 この機能を他のウェブサイトでも利用したい場合は、Joytterフォルダ内にある"ImageURLReplace.xml"をテキストエディタで開き、編集することで可能です。
こちらであらゆるサイトを網羅することは出来ませんので、ユーザー側で自由に設定できるようにしてあります。

一例としてニコニコ静画の設定方法を上げてみます。


ニコニコ静画のURLは次の形式です。
http://nico.ms/im1711834

このアドレスにアクセスして画像を右クリックし、画像の情報を表示すると、画像自体のURLがわかります。
http://lohas.nicoseiga.jp/thumb/1711834i?

つまり、URLの http://nico.ms/im 以降の数字を http://lohas.nicoseiga.jp/thumb/ にくっつけて最後にi?を付加すると画像のURLになることがわかります。

この法則をImageURLReplace.xmlに記述すると以下のようになります。
<URLReplacePattern>
    <Pattern>http://nico\.ms/im(\d+)</Pattern>
    <Replacement>http://lohas.nicoseiga.jp/thumb/$1i</Replacement>
</URLReplacePattern>
(\d+)は正規表現で数字を取得し、$1に保存することを表しています。
Patternに(\d+)が2つある場合は、$1 $2に順番に保存されています。
Replacementでは http://lohas.nicoseiga.jp/thumb/ に $1の数字をくっつけて、最後にiを付加しています。(最後の?は不要なようでしたので付けませんでした)
 
正規表現は次のサイトなどで事前にチェックすることが可能です。
http://regexhero.net/tester/
 
ImageURLReplace.xmlを保存したらIEなどでxmlファイルを開いてみてください。
問題がある場合はエラーが表示されます。
 
注意点としてxml内に&をそのまま記述することは出来ません。次の記述はエラーになります。
<Replacement>http://example.jp/mode=test&id=$1</Replacement>
&を記述したい場合は&amp;に置き換えてください
<Replacement>http://example.jp/mode=test&amp;id=$1</Replacement>
または、CDATAセクションとすることで&のまま記述することが可能です。
<Replacement><![CDATA[http://example.jp/mode=test&id=$1]]></Replacement>

ページURLと画像URLに法則性がある場合は上記の方法で取得可能ですが、法則性がない場合は取得できません。(Vineなど)
リンク先のHTMLを読み込み、画像のURLを取得するスクレイピングという方法がありますが、相手側のサーバに負荷がかかりますので実装する予定はありません。

Comments:1

  1. ttp://regexhero.net/tester/ のサイトの正規表現サービスが動いていません。
    謎のツールをDLやインストールをススメてきます。
    また、ニコニコ静画のサムネイルを上記のようにやっても表示されません。
    他のサイトのサムネイルも上記を参考にしても表示されません、改善策や
    詳しいガイド例等入力方法等お願いします。

    返信削除

Powered by Blogger.

Popular Posts