[python] html 스크레이핑 실습예제 (기상청 rss파일의 원하는 태그내용 가져오기)

www.weather.go.kr/weather/forecast/mid-term-rss3.jsp

위의 주소에서 title, wf태그 내의 내용을 추출해보겠습니다.

 


실행 결과


코드

import urllib.request 
import urllib.parse as parse
from bs4 import BeautifulSoup

이번엔 더미데이터가아니고 실제 웹사이트에 있는 태그를 추출할것이기 때문에 urllib까지 import를 해줍니다.

rssUrl ="https://www.weather.go.kr/weather/forecast/mid-term-rss3.jsp"

url 지정 

html = urllib.request.urlopen(rssUrl).read()
text=html.decode("utf-8")
soup = BeautifulSoup(text,'html.parser')

urlopen을 사용해서 직접 파일로 저장하는 것이 아니고 메모리상에 저장해놓고 html 변수에 저장해줍니다.

utf-8로 변환하여 text에 저장합니다.

html.parser를 이용해 태그들을 soup에 저장합니다.

title = soup.rss.channel.title #절대경로
wf = soup.rss.channel.item.description.header.wf 절대경로

절대경로title, wf에 접근하는 방식입니다. 태그를 하나하나 내려와서 접근합니다.

title = soup.find("title").string #상대경로
wf = soup.find("wf").string   #상대경로

상대경로로 title,wf를 접근하는 방식입니다. 바로 접근이 가능합니다

둘중에 아무 방법이나 써도 똑같이 동작이 되는것을 확인할 수 있습니다.

print("title: "+ title.string)
print("wf: "+wf.string)

출력

댓글

Designed by JB FACTORY