안녕하세요.
저번에 소개드린 파이썬 trafilatura를 활용하여 매일경제 증권 뉴스를 크롤링해보겠습니다.
Python Crawling - 매일경제 증권 뉴스
※ 파이썬 trafiltura에 대하여 포스팅한 글이 있으니, 참고하시기 바랍니다.
2024.11.17 - [Programming/Python] - [Python] Trafilatura 웹 크롤링 쉽게 하기
▣ 매일경제 증권 RSS
: 사이트 바로가기
- 매일경제는 사이트에서 업데이트된 정보를 쉽게 사용자들에게 제공하기 위해 XML을 기초로 만들어진 데이터 형식인 RSS를 제공함
- 여러 가지 카테고리의 RSS를 제공하지만, 오늘은 증권에 대한 RSS를 활용하여 50개 뉴스의 제목과 본문을 크롤링해보겠음
URL : https://www.mk.co.kr/rss/50200011/
(코드 설명)
- feeds.find_feed_urls(rss_)을 사용하여 rss의 url 50개를 가져옴
- fetch_url로 url의 html 받고 soup로 제목을 파싱, extract로 본문을 가져옴
- 제목과 본문을 데이터프레임화하여 excel로 저장
from bs4 import BeautifulSoup
from trafilatura import feeds, fetch_url, extract
import pandas as pd
rss_ = "https://www.mk.co.kr/rss/50200011/"
# url 자동으로 50개 출력
url_list = feeds.find_feed_urls(rss_)
title_list = []
contents_list = []
# 제목 soup으로 파싱, 본문은 extract로 크롤링
for n, f in enumerate(url_list, 1):
html = fetch_url(f)
soup = BeautifulSoup(html, 'html.parser')
title = soup.title.string.strip()
# 맨 뒤에 - 매일경제 텍스트 제거
title_list.append(title[:-7])
text = extract(html)
contents_list.append(text)
# 데이터프레임 생성
df = pd.DataFrame({
'제목': title_list,
'본문': contents_list
})
# Excel 파일로 저장
df.to_excel('output.xlsx', index=False)
- 결과는 excel 파일로 확인할 수 있음
반응형
'Programming > Python' 카테고리의 다른 글
[Python] Trafilatura 웹 크롤링 쉽게 하기 (3) | 2024.11.17 |
---|---|
[Python] Jupyter Notebook warning 메시지 안뜨게 하기 (0) | 2024.09.11 |
D2coding 코딩용 폰트 Pycharm에 적용하기 (5) | 2024.09.09 |
[Python] gradio 웹앱 만들기 (1) | 2024.07.21 |
[Python] 주식시장 동향 확인하기 (3) | 2024.06.30 |
댓글