>백엔드 개발 >PHP 튜토리얼 >网页爬虫 - 请问PHP怎么使用xpath解析html内容呢?

网页爬虫 - 请问PHP怎么使用xpath解析html内容呢?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-06 20:44:211416검색

在网上查看了很多相关资料,但都是PHP用xpath解析xml的,请问PHP有没有相关的函数或是类库能解析html吗?谢谢

回复内容:

在网上查看了很多相关资料,但都是PHP用xpath解析xml的,请问PHP有没有相关的函数或是类库能解析html吗?谢谢

直接用zend-dom吧,方便多了!
http://framework.zend.com/manual/2.3/en/modules/zend.dom.query.html
引入不用教了吧?

<code>$url = 'http://www.baidu.com';
$ch = curl_init();
curl_setopt($ch, CURLOPT_FILE, fopen('php://stdout', 'w'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, $url);
$html = curl_exec($ch); 
curl_close($ch);

// create document object model
$dom = new DOMDocument();
// load html into document object model
@$dom->loadHTML($html);
// create domxpath instance
$xPath = new DOMXPath($dom);
// get all elements with a particular id and then loop through and print the href attribute
$elements = $xPath->query('//*[@id="lg"]/img/@src');
foreach ($elements as $e) {
  echo ($e->nodeValue);
}</code>

差不多这样的

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.