Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用痛风爬虫提取数据?_Php_Goutte_Domcrawler - Fatal编程技术网

Php 如何使用痛风爬虫提取数据?

Php 如何使用痛风爬虫提取数据?,php,goutte,domcrawler,Php,Goutte,Domcrawler,这段代码,将hrefs返回到内容,现在我想从这个hrefs中提取内容并将其发送到我的视图。我需要提取的名称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">Mon

这段代码,将hrefs返回到内容,现在我想从这个hrefs中提取内容并将其发送到我的视图。我需要提取的名称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>

联系人:
猴子


电话号码:
001111111

for($i=0;$i请求('GET'、'.$link.'&std=1&results='.$i));
$n=$d->filter('a[class=“o_title”]”)->每个(函数($node)
{ 
$pp=新客户端();
$dd=$pp->request('GET',$node->attr('href');
$kk=$dd->filter('div[id=“adv_desc”]”)->每个函数($tekst){echo$node->attr('href')。
。$tekst->text(); }); }); }
您希望使用属性筛选特定标记

但是您使用的是
$d->filter('a[class=“o_title”]”)
。 这将过滤带有属性
class=“o_title”
的标签
a
,而该属性不属于您的内容

只需调整节点过滤器即可选择正确的元素

使用jQuery选择器语法:

参考Goutte使用的Symfony DomCrawler的文档:

编辑了第一篇文章..但是现在:
未定义变量:node
您正在处理一些没有人可以帮助您的事情,因为我们无法重现这个问题。例如:在您的示例中,有
id=adv_desc
div
?为什么
每个(函数($tekst)
?输出变量$node以检查内容。var_dump()是您的朋友。
<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(); 
                    });
         });
    }