2010-06-22 2 views
0

나는 크롤링 한 두 개의 블로그 피드에서 콘텐츠를 가져 오는 데 어려움을 겪었습니다.유니버설 피드 파서에 관한 질문

나는 이유가 무엇인지 불확실 해요,하지만 feedparser 하나 개 또는 두 개의 블로그를 분석하여 나에게이 특정 오류 반환 : 이것은 'hasn

results = feedparser.parse(url) 

    ent = [] 

    for entry in results.entries: 
    e = {} 
    e['title'] = entry.title 
    e['content'] = entry.content[0].value 

object has no attribute 'content'

또는

object has no attribute 'link'

을 나머지 다른 블로그의 경우는 그렇지 않습니다. 빈 항목의 내용으로 인해 결과가 나타 납니까?

답변

1

피드에 사용 된 XML 태그와 피드 파서의 항목에서 사용할 수있는 속성 사이에 매핑이 있습니다. 문제를 일으킨 피드 중 하나의 소스를보고 해당 태그가 사용하는 태그를 확인하십시오. 항목에 대한 콘텐츠가 없거나 링크가 link이 아닌 uid과 같은 필드에 포함되어있을 수 있습니다.

try/catch을 사용하거나 hasattr을 사용하여 약간의 변형을 처리하는 코드를 작성해야합니다.

문제의 피드 중 하나에 대한 링크를 게시하면 더 많은 조언을 제공 할 수 있습니다.

+0

빠른 질문입니다. 다양한 blogspot 블로그에서 사용하는 사용자 정의 스크립트 템플릿이 내용의 구조를 변경합니다. 코드를 살펴본 후 두 블로그의 콘텐츠가 'content'필드 대신 'summary'필드에 표시됩니다. – goh

+0

Blogspot을 빠르게 살펴본 결과 피드 템플릿을 편집 할 수있는 방법을 찾지 못했습니다. 내가 본 블로그는 Atom 피드의'content'와 RSS의'description'을 사용했습니다. 당신이 보았던 부부에 대한 URL을 가지고 있었습니까? – mikej