2009-11-04 4 views
6

파이썬에서 피드 파서 라이브러리를 사용하여 로컬 신문에서 뉴스를 검색합니다. (내 의도는이 코퍼스를 통해 자연어 처리를 수행하는 것입니다.) 많은 과거를 검색 할 수 있기를 원합니다. RSS 피드의 항목.Feedparser - Google 리더에서 오래된 메시지 검색

나는 RSS의 기술적 인 문제에 익숙하지 않지만 이것이 가능해야한다고 생각한다. (예를 들어 Google Reader와 Feedly는 스크롤바를 움직이면 'On Demand'를 할 수있다.).

다음 작업을 수행 할 때 :

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 

가 난 단지 다스 항목 정도를 얻을. 나는 수백 가지를 생각하고 있었다. 가능한 경우 지난 달의 모든 항목 일 수 있습니다. feedparser에서만이 작업을 수행 할 수 있습니까?

RSS 피드에서 뉴스 항목에 대한 링크 만 가져오고 전체 페이지를 BeautifulSoup으로 구문 분석하여 원하는 텍스트를 얻으려고합니다. 다른 해결책은 많은 뉴스 항목을 얻기 위해 페이지의 모든 로컬 링크를 따르는 크롤러가 될 것이지만 지금 당장이를 피하고 싶습니다.

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

그러나 구글 리더에 내가 로그인해야이 액세스 할 수 -

나타났다

하나 개의 솔루션은 구글 리더 RSS 캐시를 사용하는 것입니다. 누구든지 내가 파이썬에서 어떻게하는지 안다. (나는 정말로 웹에 관한 것을 모르고있다, 나는 보통 수치 계산법 만 엉망으로 만든다.)

답변

9

피드에는 피드가 포함되어 있기 때문에 12 개의 항목 만 표시됩니다. 역사적인 데이터를 원하면 해당 데이터의 피드/데이터베이스를 찾아야합니다.

웹에서 공개 데이터를 찾는 데 대한 자료는 ReadWriteWeb article을 확인하십시오.

Feedparser는 제목과 마찬가지로 아무 관련이 없습니다. Feedparser는 사용자가 제공 한 내용을 분석합니다. 데이터를 찾아서 전달하지 않으면 역사적인 데이터를 찾을 수 없습니다. 이것은 단순히 파서 일뿐입니다. 물건을 깨끗하게하는 희망! :)

+0

다시 한 번 감사드립니다. Bartek. 나는 지금 그것을 더 잘 이해한다고 생각한다. 그래서 RSS는 단순히 서버에 저장된 xml 파일입니까? 나는 그것에 대해 틀린 이미지를 가지고 있었다. .. 그것은 텍스트 피드를 얻기 위해 일종의 '프로토콜'이라고 생각했다. 다시 한 번 감사드립니다. –

3

Bartek의 대답을 확장하십시오 : 이미 본 피드의 모든 항목을 저장하고 피드 콘텐츠의 기록 보관소를 구축 할 수도 있습니다. 이것은 자료를 자료로 사용하기 시작하는 능력을 지연시킬 수 있지만 (한달 동안이 항목을 작성해야하므로), 데이터에 대해 다른 누구에게도 의존하지 않을 것입니다 .

내가 잘못 생각할 수도 있지만 Google 리더가 시간을 거슬러 올라갈 수 있다고 확신합니다. 각 피드의 과거 항목이 어딘가에 저장되어 있습니다.

+0

Hummm ... Google 리더 자체에서 피드를 얻는 것이 좋습니다. –

+1

Google 리더 자체를 사용하여 항목의 기록 목록을 검색 할 수 있습니다! : D http://googlesystem.blogspot.com/2007/06/reconstruct-feeds-history-using-google.html –

+0

방금이 사실도 발견했습니다. 관심있는 피드의 마지막 100 개 항목은 다음과 같습니다. http://www.google.com/reader/atom/feed/http://feeds.folha.uol.com.br/folha/emcimadahora/rss091 xml?n = 1000 –