勉強したことのメモ

webプログラマが勉強したことのメモ。

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

 - PHP, その他

  関連記事

インテント

モバイルの人との話で「インテントがホニャララ~」という 会話があり、インテントっ ...

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でグラフ作成

プラグインやライブラリを使わずにグラフを作る 機会があったのでメモ。 ■サンプル ...