Cómo realizar web scrapping en PHP y usando PHP Simple HTML DOM Parser con WordPress para obtener y almacenar la información. Exposición para la comunidad WordPress Perú.
14. PHP Simple HTML DOM Parser
■ A HTML DOM parser written in PHP5+ let you manipulate
HTML in a very easy way!
■ Require PHP 5+.
■ Supports invalid HTML.
■ Find tags on an HTML page with selectors just like jQuery.
■ Extract contents from HTML in a single line.
http://simplehtmldom.sourceforge.net/
15. Ejemplo simple de
cómo extraer usando
PHP Simple HTML
DOM Parser
<?php
// Create DOM from URL or file
$html = file_get_html('http://jovenred.
com/');
// Find all images foreach($html->find
('img') as $element) {
echo $element->src.'<br>';
}
// Find all links
foreach($html->find('a') as $element)
{
echo $element->href.'<br>';
}
?>
16. Tres formas para
obtener un DOM
Object
<?php
// Create a DOM object from a string
$html = str_get_html('<html><body>Hello!
</body></html>');
// Create a DOM object from a URL
$html = file_get_html('http://jovenred.
com/');
// Create a DOM object from a HTML file
$html = file_get_html('test.htm');
?>
17. Cómo buscar un
elemento HTML
<?php
// Find all anchors, returns a array of
element objects
$ret = $html->find('a');
// Find (N)th anchor, returns element
object or null if not found (zero based)
$ret = $html->find('a', 0);
// Find all <div> with the id attribute
$ret = $html->find('div[id]');
// Find all <div> which attribute id=foo
$ret = $html->find('div[id=foo]');
?>
20. Cómo ingresar la
información a
nuestra base de
datos con WordPress
<?php
// Create DOM from URL or file
$html = file_get_html('http://jovenred.
com/');
// Find all images foreach($html->find('.
post') as $element) {
$title = $element->find('h2 a')-
>plaintext;
$content = $element->find('p', 0)-
>plaintext;
wp_insert_post( array(
'post_title' => $title;
'post_content' => $content;
) );
}
?>
21. Cómo ingresar la
información a
nuestra base de
datos con WordPress
<?php
// Create DOM from URL or file
$html = file_get_html('http://jovenred.
com/');
// Find all images foreach($html->find('.
post') as $element) {
$title = $element->find('h2 a')-
>plaintext;
$content = $element->find('p', 0)-
>plaintext;
wp_insert_post( array(
'post_title' => $title;
'post_content' => $content;
) );
}
?>
22. #DataBomberos
Data Bomberos Perú es una página no oficial que muestra
información recolectada de la central de emergencias del Cuerpo
General de Bomberos Voluntarios del Perú.
La información es obtenida por la página Emergencias Diarias
que comparte el Cuerpo de Bomberos de forma pública en el
siguiente link http://www.bomberosperu.gob.pe/po_diario.asp.
http://databomberos.com