我正在尝试通过此网页抓取文字site我要抓取aaa-a.nl
,abcinkt.nl
,accudeals.nl
etc..
这些网址来自<ul class="members members-list clearfix">
课程,位于<li></li>
内
我如何在PHP中使用webscrape?
答案 0 :(得分:1)
假设您已将文件读取(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查询,请参阅:Getting DOM elements by classname)
我在这里使用DOMDocument和SimpleXml。您可以通过其他几种方式执行此操作,例如,单独使用DOMDocument类来导航DOM,或者使用DOMDocument和DOMXPath,或者甚至可以使用Php字符串函数和正则表达式。