파이썬으로 RSS를 통한 뉴스기사 제목, 링크 가져오기

반응형
    반응형

    이번 블로그 글에서는 파이썬에서 RSS를 가져오는 방법을 다루려고 합니다.

    RSS란?

    RSS(Rich Site Summary 또는 Really Simple Syndication)는 웹 사이트에서 발행되는 최신 정보를 구독자에게 쉽게 제공하기 위한 XML 기반의 웹 피드입니다. RSS를 이용하면 웹 사이트의 새로운 글, 뉴스, 팟캐스트 등을 매우 쉽게 받아볼 수 있습니다.

    rss

    파이썬에서 파싱하는 방법

    파이썬에서 RSS를 가져오는 방법은 크게 두 가지로 나눌 수 있습니다. 첫 번째는 파이썬 라이브러리를 사용하는 방법이고, 두 번째는 HTTP 요청을 통해 직접 RSS 데이터를 가져오는 방법입니다.

     

    파이썬 라이브러리 사용하기

    파이썬에서는 feedparser 라이브러리를 사용하여 RSS를 파싱할 수 있습니다. 이 라이브러리는 다양한 버전의 RSS와 Atom 형식의 피드를 지원하며, 쉽게 사용할 수 있습니다. feedparser 라이브러리를 사용하여 RSS를 가져오는 코드는 다음과 같습니다.

    import feedparser
    
    # RSS 피드 URL
    url = "https://www.example.com/ rss 주소"
    
    # RSS 파싱
    feed = feedparser.parse(url)
    
    # RSS의 제목 출력
    print(feed['feed']['title'])

    rss는 보통 url을 숨기고 있어서 직접 웹사이트에 가서 찾아야 합니다.
    일일히 찾기 힘들면 크롬에서 확장프로그램을 받으시길 바랍니다.

    get rss feed url

     

    설치하실 분은 크롬에서 아래 링크로 들어가서 설치하세요.
    Get Rss Feed URL

     

    Get RSS Feed URL

    Retreive RSS feeds URLs from WebSite

    chrome.google.com

     

    feedparser 모듈의 parse 함수를 이용하여 RSS를 파싱한 후, 파싱된 RSS 데이터는 파이썬 딕셔너리 형태로 반환됩니다. 이후 딕셔너리를 이용하여 필요한 정보를 가져올 수 있습니다.

    매일신문을 예로 들면 다음과 같이 최신 뉴스의 제목을 추출할 수 있습니다.

    import feedparser
    
    # RSS 피드 URL
    url = "https://news.imaeil.com/rss" # rss 주소
    
    # RSS 파싱
    feed = feedparser.parse(url)
    
    # 뉴스의 제목과 링크
    for entry in feed['entries']:
        print(entry['title'])
        print(entry['link'])

     

    HTTP 요청을 통해 직접 가져오기

    HTTP 요청을 이용하여 직접 RSS 데이터를 가져올 수도 있습니다. 이를 위해 requests 라이브러리를 이용할 수 있습니다. requests 라이브러리는 HTTP 요청을 쉽게 처리할 수 있는 파이썬 라이브러리입니다. requests 라이브러리를 사용하여 RSS를 가져오는 코드는 다음과 같습니다.

    # RSS 피드 URL
    url = "https://www.example.com/feed/" # rss 주소
    HTTP 요청 보내기
    response = requests.get(url)
    
    HTTP 응답 데이터 파싱
    rss_data = response.content
    
    파싱된 RSS 출력
    print(rss_data)


    위 코드에서 url 변수에는 가져올 RSS 피드의 URL을 입력하면 됩니다. requests 라이브러리의 get 함수를 이용하여 HTTP 요청을 보내면, RSS 데이터를 가져올 수 있습니다. 이후 response 객체의 content 속성을 이용하여 RSS 데이터를 가져올 수 있습니다.

    위 두 가지 방법 중에서는 feedparser 라이브러리를 사용하는 것이 더욱 쉽고 간편합니다. 따라서 대부분의 경우에는 feedparser 라이브러리를 사용하는 것을 권장합니다.

     

    마치며

    RSS를 이용하면 블로그나 언론사의 최신 글을 받아볼 수 있습니다. 
    물론 RSS를 제공한다면 말이죠.

     

    함께 보면 좋은 글

    [Python/웹크롤링] - 뉴스 크롤링하기

     

    댓글

    Designed by JB FACTORY

    ....