2009-11-04 10 views
6

estoy usando la biblioteca feedparser en Python para recuperar las noticias de un periódico local (mi intención es hacer el Procesamiento del Lenguaje Natural sobre este corpus) y le gustaría ser capaz de recuperar muchas pasado entradas de la fuente RSS.feedparser - recuperar los mensajes antiguos de Google Reader

No estoy muy familiarizado con los problemas técnicos de RSS, pero creo que esto debería ser posible (puedo ver que, por ejemplo, Google Reader y Feedly pueden hacer esto 'a pedido' mientras muevo la barra de desplazamiento)

Cuando hago lo siguiente:

import feedparser 

url = 'http://feeds.folha.uol.com.br/folha/emcimadahora/rss091.xml' 
feed = feedparser.parse(url) 
for post in feed.entries: 
    title = post.title 

consigo sólo una docena de entradas o menos. Estaba pensando en cientos. Tal vez todas las entradas en el último mes, si es posible. ¿Es posible hacer esto solo con feedparser?

tengo la intención de obtener de la fuente RSS sólo el enlace a la noticia y analizar la página completa con BeautifulSoup para obtener el texto que quiero. Una solución alternativa sería un rastreador que siga todos los enlaces locales en la página para obtener muchas noticias, pero quiero evitar eso por el momento.

-

Una solución que apareció es el uso de la caché de Google Reader RSS:

http://www.google.com/reader/atom/feed/http://feeds.folha.uol.com.br/folha/emcimadahora/rss091.xml?n=1000

Sin embargo, para acceder a este que debe estar conectado a Google Reader. ¿Alguien sabe cómo lo hago desde Python? (Realmente no sé nada de web, generalmente solo me meto con el cálculo numérico).

Respuesta

9

Solo obtiene una docena de entradas, aproximadamente, porque eso es lo que contiene el feed. Si desea datos históricos, deberá encontrar un feed/base de datos de dichos datos.

Control hacia fuera este ReadWriteWeb article para algunos recursos en la búsqueda de datos abiertos en la web.

Tenga en cuenta que feedparser no tiene nada que ver con esto como su título indica. Feedparser analiza lo que le das. No puede encontrar datos históricos a menos que lo encuentre y lo pase a él. Es simplemente un analizador. ¡Espero que eso aclare las cosas! :)

+0

Gracias de nuevo Bartek. Creo que lo entiendo mejor ahora. ¿Entonces el RSS es simplemente un archivo xml almacenado en el servidor? Tenía la imagen equivocada al respecto ... pensé que era una especie de "protocolo" para obtener un mensaje de texto. Gracias de nuevo. –

3

Para ampliar la respuesta de Bartek: También podría comenzar a almacenar todas las entradas de la alimentación que ya ha visto, y construir su propio archivo histórico del contenido de la alimentación. Esto retrasaría su capacidad para comenzar a utilizarlo como un corpus (porque tendría que hacer esto durante un mes para crear una colección de las entradas de un mes), pero no dependería de nadie para los datos. .

puedo estar equivocado, pero estoy bastante seguro de que es como Google Reader puede volver atrás en el tiempo: Tienen las entradas pasadas de cada piensos almacenadas en alguna parte.

+0

Hummm ... Supongo que el camino a seguir es obtener el feed de Google Reader, ¿no? –

+1

¡Parece que el propio Google Reader se puede utilizar para recuperar una lista histórica de elementos! : D http://googlesystem.blogspot.com/2007/06/reconstruct-feeds-history-using-google.html –

+0

acabo de descubrir esto, también. Estos son los últimos 100 elementos del feed que le interesan: http://www.google.com/reader/atom/feed/http://feeds.folha.uol.com.br/folha/emcimadahora/rss091. xml?n = 1000 –

Cuestiones relacionadas