すーさん’ず日誌

管理人「すーさん’ず」の思ったこと、趣味を管理人独自の視点で書いていきます。 ネタバレを含みますので注意! 相互リンク募集中!

2012年11月 | ARCHIVE-SELECT | 2013年01月

PREV | PAGE-SELECT | NEXT

tweet   ≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

| スポンサー広告 | --:-- | comments(-) | trackbacks(-) | TOP↑

tweet   ≫ EDIT

PHPQueryを使った21行のコードでひたすら篠崎愛画像をあつめる

たった10行のコードでひたすらアイドル水着画像をあつめる - UT Startup Gym

この記事に触発されまして。
私も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構文でガンガン繰り返していきます
?>

こんな感じになりました。
これを実行すると…

sinozakiai.jpg

ばぁん!篠崎愛ばぁん!

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

WS000000_20121219231855.jpg

WS000002_20121219231854.jpg

…これだけじゃなんにもわからねぇ…。
少し解説すると、naver画像まとめのキーワード検索結果を全て一気に一覧表示しています。
恐ろしいほど高負荷。サーバーが泣きそう。恐ろしい。
…あまりにも恐ろしいので、XAMPPを使いつつ、自分のローカル環境で実行してくださいな。

せっかくなので今回使ったソースコードを公開。
処女コードなので多めに見てね///

http://suusanzu.hotcom-web.com/PHPsample.zip

いやー、楽しかった。PHPほんと面白いわ。
ゆくゆくはjavascriptとも組み合わせて、お互いの長所を生かしたプログラムを作りたいですねぇ。

| HTML&javascript | 23:39 | comments:0 | trackbacks:0 | TOP↑

PREV | PAGE-SELECT | NEXT

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。