如何在类和元素中抓取文本


How to webscrape text inside class and element

我想从这个网站抓取文本,我想抓取aaa-a.nl, abcinkt.nl, accudeals.nl, etc..
这些url来自<ul class="members members-list clearfix">类,位于<li></li>内部。
我如何在PHP中抓取这些?

假设您已经将文件读取(CURL)到变量$html中。然后可以按照以下过程提取所需的元素:

$doc = new DOMDocument();
$doc->loadHTML($html);
$sxml = simplexml_import_dom($doc);
if (!$sxml) {
    echo "ERROR. Do something to handle this.'n";
}
$node = $sxml->xpath("//ul[contains(concat(' ', normalize-space(@class), ' '), 'members-list')]");
foreach($nodes[0]->li as $member) {
    echo (string)$member->a; // This will echo the strings you need
}

*不是测试。

(要理解上面代码中的xpath查询,请参见:通过类名获取DOM元素)

这里我使用DOMDocument和SimpleXml。您可以通过其他几种方式来实现这一点,例如,单独使用DOMDocument类来导航DOM,或者使用DOMDocument和DOMXPath,或者甚至仅仅使用Php字符串函数和正则表达式。