Observé que XML::RSS::Parser no se ha actualizado desde 2005. ¿Sigue siendo esta la biblioteca recomendada para analizar RSS o Atom? ¿Hay una mejor o una mejor forma?¿Cuál es la mejor biblioteca para analizar RSS/Atom en Perl?
Respuesta
No estoy seguro de que haya sido alguna vez la "biblioteca recomendada". Si sé qué tipo de feed necesito analizar, utilizo XML::RSS o XML::Atom según corresponda, pero si (como es más probable) solo sé que es un feed web, uso XML::Feed.
Adición de un ejemplo del uso de XML :: Alimentar a lo solicitado ..
use XML::Feed;
my $feed = XML::Feed->parse(\$string_containing_feed);
foreach ($feed->entries) {
print $_->title, "\n";
print $_->content->body, "\n";
}
Todo esto es más o menos copiado de la documentación del módulo.
Si XML :: RSS :: Parser funciona para usted, úselo. He usado XML :: Parser para tratar con RSS, pero tenía requisitos estrechos y XML :: Parser ya estaba instalado.
El hecho de que algo se haya actualizado en unos años no significa que ya no funcione; No creo que las diversas especificaciones de RSS/Atom hayan cambiado recientemente, así que no hay necesidad de que el analizador cambie.
En realidad, me gusta evitar los analizadores XML específicos de dominio en estos días y simplemente usar XPath para todo. De esa manera solo tengo que recordar una API. (A menos que sea una gran XML, a continuación, voy a utilizar un analizador basado en eventos como XML::Parser.)
Así, utilizando XML::XPath, puedo agarrar un montón de cosas a partir de un archivo RSS de esta manera:
my $rss = get_rss();
my $xp = XML::XPath->new(xml => $rss);
my $stories = $xp->find('/rss/channel/item');
foreach my $story($stories->get_nodelist) {
my $url = $xp->find('link', $story)->string_value;
my $title = $xp->find('title', $story)->string_value;
...
}
No es el código más bonito del mundo, pero funciona.
También hay un módulo muy agradable llamado XML::FeedPP
(ver http://search.cpan.org/dist/XML-FeedPP/lib/XML/FeedPP.pm). FeedPP
no es tan rápido pero está escrito en Perl casi puro y tiene dependencias minimalistas.
He tenido muy buena suerte con esto también. – Marcus
- 1. ¿Cuál es la mejor herramienta para analizar archivos de registro?
- 2. ¿Cuál es la mejor fuente en línea para aprender Perl?
- 3. ¿Cuál es la mejor manera de analizar el archivo de Excel en Perl?
- 4. ¿Cuál es la mejor biblioteca de ortografía para C#?
- 5. ¿Cuál es la mejor biblioteca EXIF para .Net?
- 6. ¿Cuál es la mejor biblioteca de AJAX para Django?
- 7. ¿Cuál es la mejor biblioteca matemática para usar con Java?
- 8. ¿Cuál es el mejor módulo para procesamiento paralelo en Perl?
- 9. ¿Cuál es la mejor manera de manejar excepciones en Perl?
- 10. ¿Cuál es la mejor forma de analizar cadenas?
- 11. ¿Cuál es la mejor manera de analizar una gramática simple?
- 12. ¿Cuál es la mejor biblioteca de Diff en Ruby?
- 13. ¿Cuál es el mejor analizador de XML para Perl?
- 14. ¿Cuál es el mejor motor XSLT para Perl?
- 15. ¿Cuál es la mejor biblioteca de cifrado en C/C++?
- 16. Qué es una mejor Perl para ventanas
- 17. ¿Cuál es la mejor biblioteca de OAuth2 C#?
- 18. ¿Cuál es la mejor biblioteca .Net XML-RPC?
- 19. ¿Cuál es la mejor biblioteca para la captura de video en Python en Linux?
- 20. ¿Cuál es la mejor biblioteca de cliente JavaScript XML-RPC?
- 21. ¿Cuál es la mejor biblioteca de Java OXM?
- 22. ¿Cuál es el algoritmo para analizar expresiones en notación infija?
- 23. Biblioteca para analizar sentencias SQL
- 24. ¿Cuál es la mejor biblioteca SQL para usar en Common Lisp?
- 25. ¿Cuál es la mejor biblioteca de usb para comunicarse con dispositivos usb HID en Windows?
- 26. ¿Cuál es la mejor biblioteca de administración de trabajos en segundo plano para Rails?
- 27. ¿Cuál es la mejor biblioteca para hacer un hash/historial de URL en JQuery?
- 28. ¿cuál es la mejor manera de analizar la respuesta XML en AJAX
- 29. ¿Cuál es la mejor manera de copiar en profundidad un hash de hashes en Perl?
- 30. ¿Cuál es la mejor biblioteca de Java para habilitar la cuadrícula/clúster de su aplicación?
¿te importaría mostrar un fragmento para imprimir el título y el contenido de una entrada de blog con XML :: Feed? – xenoterracide
Agregué un ejemplo a mi respuesta. –