오늘은 파이썬에서 RSS feed 내에 있는 enclosures에 있는 첨부 파일을 일괄로 다운받는 방법을 알아보겠습니다.
Rss enclosures
RSS 인클로저는 음악 추천에 MP3 파일 또는 일기 항목에 사진과 같은 항목과 관련된 파일의 URL을 제공하여
멀티미디어 콘텐츠를 RSS 피드에 첨부하는 방법입니다.
전자 메일 첨부 파일과 달리 인클로저는 파일에 대한 하이퍼링크일 뿐이라고 합니다.
먼저 패키지는 rss를 읽을 feedparser, 그리고 ssl 우회를 위한 ssl
그리고 파일 다운로드를 위한 urllib.request가 필요합니다.
그리고 feedparser를 활용해서 rss를 불러오고
이 후에 rss 내용인 entries에서 enclosures 태그를 빼온 다음 href의 내용을 가져옵니다.
실제 rss 파일을 찾아보면 아래처럼 구성되어 있기 때문입니다.
import feedparser
import ssl
import urllib.request
if hasattr (ssl, '_create_unverified_context') :
ssl._create_default_https_context = ssl._create_unverified_context
feed = feedparser.parse(rss)
url = []
for i in feed.entries :
for enclosure in i.get("enclosures"):
url_o = enclosure["href"]
file_name = url_o.split('/')[-1]
urllib.request.urlretrieve(enclosure['href'],file_name)
그리고 실제 url 링크에 있는 파일주소를 쓰려면
split을 /를 통해 위치를 나눠주고 마지막에 있는 이름을 사용하도록 하였습니다.
아니면 개인적으로 설정하셔도 무방합니다.
그리고 urllib.request.urlretrieve를 통해서 주소와 파일을 가져오면 되는데요.
실행하면 아래처럼 파일을 순서대로 다운로드 받게 됩니다.
이처럼 파이썬을 활용해서 간단하게 파일을 다운로드 받을 수 있는데요.
잘 사용하시기 바랍니다.
'Programming > Python' 카테고리의 다른 글
구글 드라이브 파이썬으로 연동하기 - 1. 구글 드라이브 설정하기 (0) | 2023.05.16 |
---|---|
판다스 업무 최적화 - 엑셀 중복값 찾는 방법 총정리 (0) | 2023.05.10 |
Pandas 기존 데이터와 다른 증분 차집합 구하는 방법 (0) | 2023.04.17 |
파이썬 Couldn't find a tree builder with the features you requested: lxml 에러 해결하기 (0) | 2023.04.13 |
python No module named 'PIL' 에러 해결하기 (0) | 2023.03.30 |