Php像Jquery一样解析和抓取Html元素
很庆幸,我们一直站在巨人的肩膀上,现在很多功能开发都可以通过组合使用现有的类库来完成。
php像jquery一样来处理html页面元素,已经有大神帮我们完成了,感恩^^.
类:simple_html_dom_node
类库源码下载地址:http://sourceforge.net/projects/simplehtmldom/
入门使用教程:http://www.cnphp.info/php-simple-html-dom-parser-intro.html
列举一个通过url来抓取元素的例子:
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, FALSE);
curl_setopt ($ch, CURLOPT_POSTFIELDS, http_build_query($param));
curl_setopt ($ch, CURLOPT_TIMEOUT, '30');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
curl_setopt ($ch, CURLOPT_AUTOREFERER, TRUE);
$response = curl_exec($ch);
curl_close($ch);
if(empty($response)) {
throw new \Exception("can't get html page info");
}
$simple_html_dom = new \simple_html_dom();
$simple_html_dom->load($response, true);
/**
* name
*/
$name = "";
$dom = $simple_html_dom->find('b[style="color:#8080C0;font-size:10pt"]', 0);
$name = $dom ? $dom->plaintext : '';