PHP勉強会はどのくらいの早さで枠が埋まるのか
下みたいな感じでtimestampの差とる形でうんにゃこりゃやってたんだけど、
なんか色んな意味でダメだなあ。
<?php $csv = "./phpgrEventTimeStamp.csv"; require_once "/library/Diggin/Scraper/Simple.php"; require_once "/library/Diggin/Console/Interactive.php"; $scraper = new Diggin_Scraper_Simple(); $console = new Diggin_Console_Interactive(); //http://events.php.gr.jp/event.php/event_show/の最後のイベントの末尾取得 $scraper->setUrl("http://events.php.gr.jp/event.php"); $events = $scraper->getAttribute('//div[@id="content"]/div[2]//p/a', "href"); $eventNum = (int)str_replace("http://events.php.gr.jp/event.php/event_show/","",$events[0]); require_once "Zend/Filter.php"; require_once "/library/Diggin/Filter/Num.php"; $filterChain = new Zend_Filter(); $filterChain->addFilter(new Diggin_Filter_Num()); //各イベントの処理 for ($n = 1; $n <= $eventNum; $n++) { $scraper->setUrl("http://events.php.gr.jp/event.php/event_show/".$n); $content = $scraper->scrape('//div[@id="content"]'); //第○回 print_r($filterChain->filter($content[0]->div[1]->h2[0])); echo "\n"; //日時 //$content[0]->div[1]->dl[0]->dd[0]->div[1]->p[0] $eventDate = $filterChain->filter($content[0]->div[1]->dl[0]->dd[1]); $eventDate8 = substr($eventDate, 0 , 8); echo $eventDate8."\n"; //参加者数 $i = 0; $putFlag = FALSE; foreach(($content[0]->ul[1]->li) as $cont) { if ($i == 0) { echo "boshu Ninzuu"."\n"; $boshuNum = (int)$filterChain->filter($cont); } elseif($i == 1) { echo "sanka Ninzuu"."\n"; $sankaNum = (int)$filterChain->filter($cont); } echo $filterChain->filter($cont); echo "\n"; $i = $i + 1; } //参加人数を見てput判断 if ($console->yesNo("put?")) { $member = $scraper->scrape('//div[@id="content"]//div[@align="center"]//table'); $firster = $member[0]->tr[1]->td[2]; //$countMember = count($member[0]->tr); //echo $countMember; if($sankaNum < $boshuNum){ $laster = $member[0]->tr[$sankaNum]->td[2]; } else { $laster = $member[0]->tr[$boshuNum]->td[2]; } //echo $laster; require_once 'Zend/Date.php'; $date = new Zend_Date($firster, 'YYYY.MM.dd.hh.mm.ss'); $firsterStamp = $date->getTimestamp(); $date = new Zend_Date($laster, 'YYYY.MM.dd.hh.mm.ss'); $lasterStamp = $date->getTimestamp(); $diff = $lasterStamp - $firsterStamp; $putText = $eventDate8.",".$diff."\n"; file_put_contents($csv, $putText, FILE_APPEND); } echo "----------------------"; }
結果
20060624,364772 20060727,1451422 20060820,957934 20060925,332808 20061028,522735 20061129,1130623 20061223,390273 20070129,98617 20070224,318739 20070328,480808 20070422,212197 20070524,74675 20070624,75858 20070725,418956 20070929,210165 20071018,96278 20071207,327793 20071222,195795 20080129,289461 20080122,39106 20080131,590290