日期:2014-05-17  浏览次数:20427 次

求助:PHP抓取网页特定数据
我要抓取网页:http://www.pm2d5.com/City/xg_wangjiao.html网页的表格里PM2.5的具体数据,
有没有什么高效点的方法?谢谢。。

------解决方案--------------------
我这属于笨方法,无奈我的正则实在太烂
PHP code
// $html 是你要抓取的www.pm2d5.com/City/xg_wangjiao.html内容,这部分你自己写吧
$pattern =  "/<td align=center bgcolor=\"#DCEAF3\">[\s\S]+?<\/td>/i";
preg_match_all($pattern, $html, $tdTag);
// var_dump($tdTag);

// 要消除的匹配结果中的HTML标签
$deleteStrHeader = '<td align=center bgcolor="#DCEAF3"><font face="細明體 ,  新細明體 , Taipei, Arial" size="3">';
$deleteStrFooter = '</font></td>';

$pmvalue = array();

foreach($tdTag[0] as $key=>$value)
{       
        // 当遍历到pm2.5那列时
        if( ($key+1) % 6 === 0)
        {
            // 消除头尾HTML标签
            $noHeaderStr = str_replace($deleteStrHeader, '', $value);
            $cleanStr = str_replace($deleteStrFooter, '', $noHeaderStr);
            // 转换为浮点型
            $pmvalue[] = (float)trim($cleanStr);   
        }
}
var_dump($pmvalue);