Issue with scraping a list to get href using Goutte and PHP

Oliver Bayes-Shelton picture Oliver Bayes-Shelton · Mar 16, 2015 · Viewed 7.5k times · Source

I am trying to scrape the following, I basically want the text and the link, I am using Goutte with PHP. I can get the text fine using the following code but I cannot get the href value. Any help would be amazing.

$crawler->filter('#most-popular > div > ol > li > a')->each(function ($node) {
    var_dump($node->getAttribute('href'));
});


<li class="first-child ol1">
  <a href="http://www.bbc.co.uk/news/uk-england-south-yorkshire-31895703" class="story">
    <span class="livestats-icon livestats-1">1: </span>MP claims £17 poppy wreath expenses</a>
</li>

Answer

Burak picture Burak · Feb 23, 2016

getAttribute() is implemented as attr() within the Crawler class.

$crawler->filter('#most-popular > div.panel.open > ol > li.first-child.ol1 > a')->each(function ($node) {
    var_dump($node->attr('href'));
});