PHPでyoutubeから更新分の情報を取得する(スクレイピング)
「○○のサイトから自動更新分を持ってきて
自サイトに反映させらへん?」と以前に聞かれたことがあって、
調べてみたのでメモ。
テストの条件として、
・取得先はyoutube
・検索ワードである程度絞る
■ソース
<?php $url = 'ここにURL'; //検索クエリ付きのURLでOK $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url) curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $line = curl_exec($ch); $line = mb_convert_encoding($line,'UTF-8','auto'); $pattern="/<a class=\".*?\"[\n|\s]*dir=\".*?\"[\n|\s]*title=\"(.*?)\"[\n|\s]*data-sessionlink=\".*?\"[\n|\s]*href=\".*?v=(.*?)\"[\n|\s]*>/"; //正規表現でほしい情報を抜き出す。動画のIDっぽいのとタイトルを抜き出した $match = array(); preg_match_all($pattern, $line, $match, PREG_SET_ORDER); for ($i = 0; $i< count($match); $i++) { $title = $match[$i][1]; //タイトルが格納される $url = $match[$i][2]; //動画のIDが格納される } ?>
ひっぱってきた情報をMySQLなりなんなりに突っ込む。
更新に関してはcronまわせばOK。
関連記事
-
-
インテント
モバイルの人との話で「インテントがホニャララ~」という 会話があり、インテントっ ...
-
-
joinとimplode
PHPで配列を結合する時に使う関数。joinとimplode。 元々はなんかのマ ...
-
-
他ドメインから画像の呼び出し(直リンク)を禁止する
他ドメインからの画像の呼び出し、いわゆる直リンクの禁止を行いたかった。調べるとh ...
-
-
PHPで文字のあいまい検索(文字のゆれ)
googleとかで検索する際に、ちょっと間違えて 入力してしまっても「もしかして ...
-
-
PHP5.3にバージョンアップした際の注意
PHP5.1? ぐらいから5.3にバージョンアップした際に 色々とあったのでメモ ...
-
-
秀丸のgrepについて
以前に「外部ファイルを書き換えたら予想外のページにて 不具合が発生した」というも ...
-
-
FPDIで「This PDF document probably uses~~」エラーの対処方法
FPIDであるPDFを読み込ませようとすると「This PDF document ...
-
-
CRUDのfunction化(処理ページ)
<?php //エスケープ用htmlspecialchars functi ...
-
-
PHPで一括出力ではなく、ひとつずつ順次に出力する方法
PHPで重たい処理とかをしている際に、途中報告みたいな形で順次出力させる方法のメ ...
-
-
imgタグとPHPでグラフ作成
プラグインやライブラリを使わずにグラフを作る 機会があったのでメモ。 ■サンプル ...
- PREV
- Bootstrapを使用したデザインテンプレート
- NEXT
- crontabコマンドのオプション