2012-07-19 11 views
5

Duplicar posibles:
HTML Scraping in PhpLa extracción de los datos específicos de una página web utilizando PHP

me gustaría saber si hay alguna manera de conseguir de una página web de una cadena de texto específica que se actualiza de vez en cuando usando PHP. He buscado "en todo internet" y no he encontrado nada. Acabo de ver que preg_match podría hacerlo, pero no entendí cómo usarlo.

imaginar que una página web contiene lo siguiente:

<div name="changeable_text">**GET THIS TEXT**</div> 

¿Cómo puedo hacer que el uso de PHP, después de haber utilizado file_get_contents a poner la página en una variable?

Gracias de antemano :)

+0

Olvídate del nombre de div. LOL –

+2

El tema que busca es "screen scraping". Más información aquí http://stackoverflow.com/tags/screen-scraping/info – jumpnett

Respuesta

10

Puede utilizar DOMDocument, así:

$html = file_get_contents($url); 

libxml_use_internal_errors(true); 
$doc = new DOMDocument; 
$doc->loadHTML($html); 
$xpath = new DOMXpath($doc); 

// A name attribute on a <div>??? 
$node = $xpath->query('//div[@name="changeable_text"]')->item(0); 

echo $node->textContent; // This will print **GET THIS TEXT** 
+0

eso me ayuda :) –

0

Estamos hablando de data scraping: el acto de extraer datos de una salida legible por humanos. En su caso, esto es lo que haya entre las etiquetas <div>. Use la extensión PHP DOM para llegar a la etiqueta que desea y extraer datos. Búsqueda en Google de un tutorial PHP DOM.

0
$delements= file_get_html('url will go here'); 

foreach($elements->find('element') as $ele) { 

  //traverse according to your preferences 

} 

//return or output 
Cuestiones relacionadas