使用php xpath类库采集信息

2021-05-01 10:41:36

最近需要采集信息,因为比较熟悉php,所以想使用php来采集信息,python虽然更主流,但是php我更熟悉,写起来顺手,而且php完全可以采集。

php 里也有xpath类库。

通过xpath类库DOMDocument,DOMXPath 即可。

最关键的方法就是 xpath.query()。

这个方法3个参数,常用的是前两个,\(expression 和</span><span>&nbsp;</span><span>\)contextnode,expression&nbsp;就是xpath的路径了,contextnode是上下文节点。比如你之前用query已经查出来了一个节点。你使用query,查询这个节点下的某些内容这个时候,就可以设置 contextnode这个参数。表达式的开头,要使用点+斜杠(./)的方式 ,表示冲当前节点下面开始查找。

代码如下:

        $dom = new \DOMDocument();

    // 从一个字符串加载HTML
    @$dom-&gt;loadHTML($html);
    // 使该HTML规范化
    $dom-&gt;normalize();
    // 用DOMXpath加载DOM,用于查询
    $xpath = new \DOMXPath($dom);
    $xpath-&gt;query('//div[@class="aaa"]');</pre><br></p>