feedParser로 RSS 수집하기
와글 -가장 처음에 생각했던 이름은 Zooming 이였다 그래서 흔적이 아직 남아있다. 예를 들어 수집기의 이름이 Lenz… -을 Python으로 가기로 마음 먹으면서, 가장 처음 한건 간단한 RSS 수집기를 만드는 것이였다. 그러다 문득 쓸만한 RSS파서가 있지 않을까 하고 찾아보다가 나온게 feedParser다.
RSS랑 Atom을 지원하고, 4.1 까지 버전업된 파서라서 사용법도 어렵지 않고, Lenz에 별 문제없이 사용되고 있다.
그러다 발견한 문제 한 가지는
파서의 문제가 아니라 RSS를 만든 프로그래머의 잘못이기도 한데, 예를 들어 cyworld 경우 RSS charset은 euc-kr로 잡혀 있지만 실제 인코딩은 utf-8로 인코딩 되어서 feedparser에서 bozo excetion-error를 포함해서 파싱하기 때문- 다행히도 파싱은 제대로 된다- 에 그걸로 에러 검출을 하다가는 낭패를 볼 수 있다.
Tags:charset euc kr feedparser rss