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 も可。