파이썬으로 RSS를 통한 뉴스기사 제목, 링크 가져오기
- Python/웹크롤링
- 2023. 3. 30.
이번 블로그 글에서는 파이썬에서 RSS를 가져오는 방법을 다루려고 합니다.
RSS란?
RSS(Rich Site Summary 또는 Really Simple Syndication)는 웹 사이트에서 발행되는 최신 정보를 구독자에게 쉽게 제공하기 위한 XML 기반의 웹 피드입니다. 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
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 > 웹크롤링' 카테고리의 다른 글
크롬드라이버 자동 오류 해결(115버전부터 사이트가 바꼈어요) (0) | 2023.11.06 |
---|---|
[파이썬] newspaper 모듈로 뉴스 스크래핑하기 (0) | 2023.04.13 |
우분투에서 셀레니움 한글 깨짐 해결 (0) | 2023.03.15 |
[파이썬] chrome-driver 설치 안하고 사용하기 (0) | 2022.08.31 |
[python] dict형식의 string dict으로 변환(json 활용) (0) | 2022.04.21 |