2015-04-18 24 views
5

Bu kod, hrefs'i içeriğe döndürdü, şimdi bu hrefs'ten içerik ayıklamak ve görünümüme göndermek istiyorum. Ben ayıklamak gerek İsim div'ler:Goutte Crawler ile veri nasıl alınır?

<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(); 
        }); 
     }); 
    } 

cevap

3

Sen özelliklere sahip özel etiketleri filtrelemek istiyorum.

Ancak $d->filter('a[class="o_title"]') kullanıyorsunuz. Bu, a etiketini class="o_title" özniteliği ile filtreler. Ve bu içeriğinizin bir parçası değil.

Doğru elemanları seçmek için düğüm filtresini ayarlamanız yeterlidir.

Kullanım jQuery Seçiciler dizimi: https://api.jquery.com/category/selectors/

Symfony'nin GOUTTE tarafından kullanılan DomCrawler, belgelerine referans: http://symfony.com/doc/current/components/dom_crawler.html#node-filtering

+0

düzenlenmiş ilk mesaja .. ama şimdi: 'Tanımsız değişken: – user3458952

+0

node' Sen Kimsenin size yardım edemeyeceği bir şey üzerinde çalışmak, çünkü bu sorunu yeniden üretemeyiz. Örneğin: Örneğinizde, 'id = adv_desc' ile' div' nerede? Neden her (işlev ($ tekst) '? İçeriği kontrol etmek için $ node değişkeni çıktı var_dump() arkadaşınızdır. –

İlgili konular