≫ EDIT
PHPQueryを使った21行のコードでひたすら篠崎愛画像をあつめる
この記事に触発されまして。
私もPHPの勉強がてらプログラム組んでみました。
しかぁし!
ただ上記記事のコードをコピペしてもつまらないので、PHPQueryというwebスクレイピングに特化したjQueryチックなライブラリ使いました。
PHPってjavascriptと違ってweb通信関係に強いから使ってて楽しいです。
クロスブラウザとか気にしなくて良いし。PHPさんマジリスペクトっす。
そんな前置きは置いておいて。
こんな感じになりました。<?php
set_time_limit(120); //実行時間の最大値:120秒間
require_once("phpQuery-onefile.php"); //ライブラリ(phpQuery)読み込み
$htmlURL2 = "http://matome.naver.jp/odai/2129238065404164401"; //URL
$html2 = phpQuery::newDocumentFile( $htmlURL2 );
phpQuery::newDocument($html2, $contentType = null); //PHPQueryでサイト情報を取得
$page2 = $html2['div.MdPagination03']; //PHPQueryはjQuery的な使い方ができて便利。
$pagelast2 = $page2['a:last']->text(); //最大ページ数取得
if(empty($pagelast2)){
$pagelast2 = 1;
}
for( $iii=1; $iii<=$pagelast2; $iii++){
$html2 = phpQuery::newDocumentFile( $htmlURL2."?page=".$iii );
phpQuery::newDocument($html2, $contentType = null); //PHPQueryでサイト情報を取得
$lists2 = $html2['img.MTMItemThumb']; //サイト情報の中からimg[class:MTMItemThumb]を取得
foreach ($lists2 as $list2) {
echo pq($list2)->addClass('list2'); //取得した画像をどぉんどぉん追加。
}
sleep(1); //サーバー負荷を減らそう!
} //ページを送りつつfor構文でガンガン繰り返していきます
?>
これを実行すると…

ばぁん!篠崎愛ばぁん!
これだけでも圧巻ですが、もっともっと画像が欲しいと思いまして、こんなのも作ってみました。


…これだけじゃなんにもわからねぇ…。
少し解説すると、naver画像まとめのキーワード検索結果を全て一気に一覧表示しています。
恐ろしいほど高負荷。サーバーが泣きそう。恐ろしい。
…あまりにも恐ろしいので、XAMPPを使いつつ、自分のローカル環境で実行してくださいな。
せっかくなので今回使ったソースコードを公開。
処女コードなので多めに見てね///
いやー、楽しかった。PHPほんと面白いわ。
ゆくゆくはjavascriptとも組み合わせて、お互いの長所を生かしたプログラムを作りたいですねぇ。
| HTML&javascript | 23:39 | comments:0 | trackbacks:0 | TOP↑