php で scraping する(table とか)ときお世話になっているのが
$str = file_get_contents($file); preg_match_all("|<tr><td>(.*?)</td>...</tr>|", $str, $lines, PREG_SET_ORDER); foreach($lines as $col){ /* 処理 */ }
などとしてますが、たまに Fatal error: Allowed memory size of ... がでたりするので、
if(!$fp = fopen($file ,"r")){ print "ファイルを開けませんでした1!"; exit(); } while(!feof($fp)){ $line = fgets($fp); preg_match("|<tr><td>(.*?)</td>...</tr>|", $line, $col); /* 処理 */ }
一行づつ読み込み処理すると、メモリが足りたりします。
でも、fopen ですと、<tr>...</tr> が一行になってない html だともちろん駄目なのが欠点...
$file は URL も可。
でも、fopen ですと、<tr>...</tr> が一行になってない html だともちろん駄目なのが欠点...
$file は URL も可。