0

我一直在尝试遍历这个 html 网页,以获取位于下面嵌套很深的代码部分中的企业名称。所有的 id 都是唯一的。我试过使用 simple_html_dom 但遇到了麻烦。我对 PHP 还很陌生,但同样是一个狂热的学习者,所以在正确的方向上我希望我能破解这个问题。

我尝试使用的网页是http://yellow.co.nz/yellow+pages/funeral+home/New+Zealand?page=1&stageName=Composite+search&activeSort=name-asc&suppressMobileListings=false

<div class="result standard">
    <div class="resultBody"> 
        <div class="listingMain">
            <div class="vcard">
                <a class="fn openPreview">
                    <span>Biz Name</span>
4

2 回答 2

1

您可以尝试Goutte并执行类似的操作

use Goutte\Client;

$client = new Client();
$crawler = $client->request('GET', 'http://yellow.co.nz/yellow+pages/funeral+home/New+Zealand?page=1&stageName=Composite+search&activeSort=name-asc&suppressMobileListings=false');

$businessNames = array();
$crawler->filter('vcard > fn > span')->each(function($node, $i){
  $businessNames[] = $node->text();   
});
于 2012-07-09T00:03:11.807 回答
0

当我过去遇到类似问题时(通过任意层次结构挖掘到我的目标节点),我发现 XPath 是最有用的解决方案:

PHP DOM Xpath 文档

它允许您使用非常简单的 XPath 查询来立即定位感兴趣的节点。

于 2012-07-08T23:58:26.970 回答