Codigos Web

El Scrapeador de elementos más simple con Php

Scrapear otras webs con Php de la forma más simple que he visto, mediante “PHP Simple HTML DOM Parser”.

Ejemplo:

PARA SACAR LOS ELEMENTOS:

  1. // Create DOM from URL or file
  2. $html = file_get_html('http://www.google.com/');
  3.  
  4. // Find all images
  5. foreach($html->find('img') as $element)
  6.        echo $element->src . '<br>';
  7.  
  8. // Find all links
  9. foreach($html->find('a') as $element)
  10.        echo $element->href . '<br>';

PARA MODIFICAR LOS ELEMENTOS:

  1. // Create DOM from string
  2. $html = str_get_html('<div id="hello">Hello</div><div id="world">World</div>');
  3.  
  4. $html->find('div', 1)->class = 'bar';
  5.  
  6. $html->find('div[id=hello]', 0)->innertext = 'foo';
  7.  
  8. echo $html; // Output: <div id="hello">foo</div><div id="world" class="bar">World</div>

OTRO EJEMPLO, SCRAPEANDO LA WEB de slashdot.org:

  1. // Create DOM from URL
  2. $html = file_get_html('http://slashdot.org/');
  3.  
  4. // Find all article blocks
  5. foreach($html->find('div.article') as $article) {
  6.     $item['title']     = $article->find('div.title', 0)->plaintext;
  7.     $item['intro']    = $article->find('div.intro', 0)->plaintext;
  8.     $item['details'] = $article->find('div.details', 0)->plaintext;
  9.     $articles[] = $item;
  10. }
  11.  
  12. print_r($articles);

Aquí tienes el manual

Puedes acompañarlo de UNVEIL para el Frontend, carga las imágenes de forma “Lazy”: http://luis-almeida.github.io/unveil/

No comments