与Goutte一起上课

时间:2016-04-02 22:57:29

标签: php goutte

我正在尝试使用url从此Goutte获取数据 但是当我尝试仅使用类“empresa”过滤div时,我得到了整个页面。 如何仅过滤具有特定类的div?

这是我的代码:

<html>

<body>
        <?php

        require __DIR__ . '/vendor/autoload.php';
        use Goutte\Client;

        $client = new Client();
        $crawler = $client->request('GET', 'http://sp.cadastrosindustriais.com.br/?consulta=cal%C3%A7ados');

        $crawler->filter('div[id="empresa"]')->each(function ($node) {
            print $node->text()."\n";
        });


        ?>

</body>


</html>

1 个答案:

答案 0 :(得分:2)

你很亲密。问题是你的选择器。 crawler使用jquery style selectors

以下是您的代码的工作示例。我把结果放在一个数组中,以防你想要做的不仅仅是转储结果。

$client = new Goutte\Client();
$crawler = $client->request('get', 'http://sp.cadastrosindustriais.com.br/?consulta=cal%C3%A7ados');

$elements = $crawler->filter('.empresa')->each(function($node){
    return $node->text();
});

然后,如果您想遍历结果,可以执行foreach($elements as $e)