アダルト動画ブログ管理人のブログ

アダルト動画ブログ4つ始めました。おまけでアイドルブログも1つ始めました。

ネタ探し用スクレイピングサイトできた。

自分のネタ探し用のサイトができた。

こんな感じ。


f:id:kosatsu:20160428105032j:plain

ざっくり説明すると、

ランキングサイトをスクレイピングしてDBに挿入したい

DOM xpathを使って収集

ランキングサイトの記事が一つのまとまりになってない

2つ収集してくっつける

<?php
for ($i=0; $i<count($entries); $i++) {
 $entries3[] = [
 'title' => $entries[$i]['title'],
 'link' => $entries[$i]['link'],
 'listdata' => $entries2[$i]['listdata'],
 'images' => $entries[$i]['images'],
 'date' => $entries[$i]['date']
 ];
}
?>

(entries3とか番号にするのは悪い見本)

新着動画はいらない

if文で最初の100件飛ばす

動画リンクは主キー

nginxのdefault.confをいじって自分だけがアクセスできるように

アクセスしたときにスクレイピング発動

表示は日付順に300件表示

って感じでできました。

nginxの設定が最難関だったかも。

時間的には10分くらいだったかもしれないけど再起動してエラーが起きて同じサーバーの他のサイトが数十秒逝っちゃうことを3回程繰り返したので・・・。

nginxがapacheより唯一劣ってる部分がこの設定の難しさかもしれない。

正規表現の記述次第で優先順位が変わってくるとかやめて欲しい。

locationの後に「^~」みたいなのつけて解決しました(適当)

表示件数に関しては1日のランキングの差分が10~50程なので表示件数はこれから100件に変更する予定。

★マークは『動画エロタレスト』(アンテナサイト)さんにその動画を使った記事が上がってるかどうかの確認ボタンみたいなやつ。自分でURL入れて検索するのちょっとめんどいからね。ほんとは全動画上がってるかどうか確認させに行って一覧に表示させたいんだけど短時間の連続アクセスみたいなのでブロックされたら元も子もないのでボタンで我慢。

今後導入したい機能としては×ボタンで見たくない動画を一覧から削除する機能。

テーブルにもう一つカラム増やして、×ボタンを押したときに値を渡して、その値がある場合表示しない的な仕組み。