Mostrando entradas con la etiqueta php. Mostrar todas las entradas
Mostrando entradas con la etiqueta php. Mostrar todas las entradas

sábado, 1 de mayo de 2010

Comicteca

Pequeñas modificaciones en mi sistema Comicteca. He utilizado expresiones regulares para identificar distintos aspectos de las entradas del Previews Parser para que se pasen automáticamente al formulario de añadir nuevos cómics. Con esto, lo que se gana es celeridad en el proceso general:
- Utilizar Previews Parser para identificar los elementos a pedir en el Previews de Diamond
- Utilizar Previews Parser para enviar los elementos a Comicteca de forma que Checklist los pueda utilizar.
- Utilizar Checklist para comprobar lo que llega y lo que no llega de lo pedido.

Faltaría un paso más, utilizar Comicteca para hacer la búsqueda de datos y portadas de manera más automática. Al final lo que se busca en Google es el título, el formato y una palabra clave relacionada con la editorial. De este modo, si busco un cómic de Marvel, es muy probable encontrarlo incluyendo 'marvel catalog' en la búsqueda. Si el cómic es de DC, entonces hay que incluir 'dccomics.com'. Eso suele funcionar. En cualquier caso, para los de Marvel sería más efectivo ir directamente a la página en la que se encuentran los productos para la fecha de publicación.



domingo, 17 de enero de 2010

Acceso a los posts de Blogger desde PHP

En 15 minutitos he montado este snippet para acceder a los posts de Blogger conociendo el ID del blog correspondiente. No está muy depurado pero funciona. El código es este:

$blog_id['miblog1']='01234568901234567';
$blog_id['miblog2']='12345689012345678';
$blog_id['miblog3']='23456890123456789';

function dataURL($id) {
return 'http://www.blogger.com/feeds/'.$id.'/posts/default?max-results=1';
}

function getData($url)
{
if ($handle = fopen($url, 'r')) {
$content = stream_get_contents($handle);
fclose($handle);
return $content;
}
}

function printData($data){
$xml = new SimpleXMLElement($data);
echo $xml->title, '
';
echo $xml->entry->title, '
';
echo $xml->entry->content, '
';
echo $xml->entry->link[4]['href'], '
';
echo $xml->entry->published, '
';
}

foreach ($blog_id as $key=>$value)
{
printData(getData(dataURL($value)));
}

Con esto lo que hacemos es recorrer todos los IDs de blogs que hemos metido como variables al principio y representarlos en la pantalla. Si imprimimos y analizamos lo que devuelve la función getData($url), podemos revisar el XML para ver qué parámetros queremos. La función printData($data) representa los contenidos deseados. Si el contenido incluye código HTML es posible que haya que utilizar alguna función intermedia para hacer que dicho código funcione, porque lo que está almacenado en la base de datos serán entidades HTML en lugar de los '<' y los '>'.

Espero que sea útil para alguien. A mi me ha dado varias ideas de cosas que hacer... Para todo lo demás, consultar la API de Blogger.

NOTA: La URL que obtenemos es la clave en la que hay que especificar qué queremos obtener. En mi caso selecciona el último post publicado. Se puede experimentar con la URL directamente (hay más parámetros en el enlace de la API de Blogger) para ver distintos resultados.