通过 Goutte 获得 div 和 class
Get div with class with Goutte
我正在尝试从中获取数据 url with Goutte
但是当我尝试仅使用 class "empresa" 过滤 div 时,我得到了整个页面。
如何仅过滤具有特定 class 的 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>
你很接近。问题是你的选择器。 crawler uses 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)
我正在尝试从中获取数据 url with Goutte 但是当我尝试仅使用 class "empresa" 过滤 div 时,我得到了整个页面。 如何仅过滤具有特定 class 的 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>
你很接近。问题是你的选择器。 crawler uses 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)