php xpath类库,PHP 怎么使用 XPath 来采集页面数据内容

format,png

之前有说过使用 Python 使用 XPath 去采集页面数据内容,前段时间参与百度内测的一个号主页展现接口,需要文章页面改造的application/ld+json代码

我想过使用 QueryList 的框架去操作,但是因为他大小也算个框架,有点重,还是直接单文件吧

想到了之前写 Python 爬虫时使用的 XPath,PHP 应该也是可以搞的吧

动手就干,先找到对应的 XPath 规则,如下:

//script[@type='application/ld+json']/text()

script 节点下的 type 属性,拿到它中间的文本,也正好是我们需要的 JSON 数据

本来也是为了提交百度方便,所以直接做到给一个链接,然后代码去请求百度的接口就可以了

具体代码是这样的:

$html = file_get_contents('https://qq52o.me/2530.html');

$dom = new DOMDocument();

// 从一个字符串加载HTML

@$dom->loadHTML($html);

// 使该HTML规范化

$dom->normalize();

// 用DOMXpath加载DOM,用于查询

$xpath = new DOMXPath($dom);

// 获取对应的xpath数据

$hrefs = $xpath->query("//script[@type='application/ld+json']/text()");

for ($i = 0; $i < $hrefs->length; $i++) {

$href = $hrefs->item($i);

$json = $href->nodeValue;

}

类库的用法自己可以看一下手册,使用 DOMXPath 的 query 方法,执行给定的 Xpath 规则,就酱紫~

针对百度熊掌号新接口请求封装代码可以看一下 Github:sy-records/xzh-curl

总的来说,简单写一个页面的采集还是很简单的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值