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

这篇技术文章介绍了如何在PHP中利用DOMDocument和DOMXPath类库来解析HTML,而不是仅限于XML。通过示例代码展示了如何从网页中抓取特定ID元素的图片源,并提供了完整的PHP代码片段进行HTTP请求和内容获取。使用zend-dom模块可以简化这一过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5268f80b9b1e01f982625ef6fac83ca1.png

在网上查看了很多相关资料,但都是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

引入不用教了吧?

$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);

}

差不多这样的

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值