今回は、なるべくJavascriptのみで完結したかったのでYQLを使ってます。
http://www.yahooapis.com/yql/ヤフーの提供してるAPIです。
理由は単純に、エロぺん動画を「見る」だけの人が多いだろうから、サイト側に負荷をかけるほどの機能なのか悩んでいるからです。そのため、YQL側が落ちてると全然使いものにならないというダメ仕様です。
この機能自体、需要がありそうなら変更します。やっぱり、並べてみたりWiiUで見たりするのに、エロぺん動画にある動画だけじゃなく、他サイトで見つけた自分の好きな動画のほうがいいし!
ただ、まだエラー処理とかしっかり作っていないため、既にエロぺん動画に含まれている動画があった場合、追加されません。
というわけで、YQLの説明です。
今回使っているのは、Javascriptで他サイトのHTMLを取得する機能です。
var YQL = 'http://query.yahooapis.com/v1/public/yql?callback=?',
YQLquery = 'select * from html where url="{URL}" and xpath="*"';
$.ajax({
url: YQL,
data: {
q: YQLquery.replace('{URL}', "http://取得したいURL"),
format: 'xml'
},
dataType: 'json'
})
.done(function(dt){
var htdom = $(dt.results[0]);
// 取得したHTMLから動画をサガース
});
という感じです。
こんなのを基本に、だーーっと書いてしまったので、バグってたらごめんなさい。
ちなみに現在の仕様は、投稿URLのソース内にxvideosの動画が無さそうだったら、ソース内のリンクを一覧で表示します。で、そのリンクをクリックすると、再検索します。そのため、エロサイトのトップページを入れれば、そこそこサクサク動画を追加していけるのではないでしょうか。
発見された動画は登録ページ内の上に追加していきます。
最初は下に追加してましたが、スクロールが面倒なので上に追加するように変更しました。
逆に、1つのURL内に動画が複数見つかった場合に少し戸惑いますが、毎回面倒なのよりは良いかなと。
また、リンク一覧では、全然関係ないリンクも表示されてしまうので、簡易フィルター機能を付けました。単語で絞込みができます。これで、サイトポリシーとか消して少し見やすくなります。少し。
例えば「http://jp.xvideos.com」で動画を参照して、出てきたリンク一覧の絞り込みテキストボックスに
「/video」と入れれば、動画のリンクだけになる!という感じです。
「japan」や「schol」でもまぁまぁいいですね。
今回、動画の再生時間指定は省きました。
エロぺん動画のほうで再生時間が表示されてないものは、誰かの投稿した動画です。
YQLは日や時間帯、サーバーの場所によってかなりブレがある印象なので、早めに乗り換えるかも・・?
- 関連記事
-