如何使用 Goutte Crawler 提取数据?
How to extract data with Goutte Crawler?
此代码,返回内容的 ahrefs,现在我想从此 ahrefs 中提取内容并将其发送到我的视图。命名我需要提取的 div:
<div class="c_pad">
<div class="c_label">
<span class="std_header2">Contact:</span>
</div>
<div class="c_name">
<span class="std_text_b">Monkey</span>
</div>
<div class="clear"></div>
</div>
<div class="c_pad">
<div class="c_label">
<span class="std_header2">Phone number:</span>
</div>
<div class="c_phone">
<span class="std_text_b">001111111</span>
</div>
<div class="clear"></div>
</div>
for($i=0; $i <= 1; $i++)
{
$p = new Client();
$d = $p->request('GET', ''.$link.'&std=1&results='. $i);
$n = $d->filter('a[class="o_title"]')->each(function ($node)
{
$pp = new Client();
$dd = $pp->request('GET', $node->attr('href'));
$kk = $dd->filter('div[id="adv_desc"]')->each(function ($tekst) { echo $node->attr('href').'<br>'.$tekst->text();
});
});
}
您想过滤带有属性的特定标签。
但是您正在使用 $d->filter('a[class="o_title"]')
。
这将过滤具有属性 class="o_title"
的标记 a
。这不是您内容的一部分。
您只需将节点过滤器调整为 select 正确的元素。
使用 jQuery 选择器语法:https://api.jquery.com/category/selectors/
参考Goutte使用的Symfony的DomCrawler的文档:
http://symfony.com/doc/current/components/dom_crawler.html#node-filtering
此代码,返回内容的 ahrefs,现在我想从此 ahrefs 中提取内容并将其发送到我的视图。命名我需要提取的 div:
<div class="c_pad">
<div class="c_label">
<span class="std_header2">Contact:</span>
</div>
<div class="c_name">
<span class="std_text_b">Monkey</span>
</div>
<div class="clear"></div>
</div>
<div class="c_pad">
<div class="c_label">
<span class="std_header2">Phone number:</span>
</div>
<div class="c_phone">
<span class="std_text_b">001111111</span>
</div>
<div class="clear"></div>
</div>
for($i=0; $i <= 1; $i++)
{
$p = new Client();
$d = $p->request('GET', ''.$link.'&std=1&results='. $i);
$n = $d->filter('a[class="o_title"]')->each(function ($node)
{
$pp = new Client();
$dd = $pp->request('GET', $node->attr('href'));
$kk = $dd->filter('div[id="adv_desc"]')->each(function ($tekst) { echo $node->attr('href').'<br>'.$tekst->text();
});
});
}
您想过滤带有属性的特定标签。
但是您正在使用 $d->filter('a[class="o_title"]')
。
这将过滤具有属性 class="o_title"
的标记 a
。这不是您内容的一部分。
您只需将节点过滤器调整为 select 正确的元素。
使用 jQuery 选择器语法:https://api.jquery.com/category/selectors/
参考Goutte使用的Symfony的DomCrawler的文档: http://symfony.com/doc/current/components/dom_crawler.html#node-filtering