๐Ÿ“ฆ๋ถ„์„ ํ”„๋กœ์ ํŠธ/๐Ÿš… ํฌ๋กค๋ง ๋ถ„์„

๐Ÿš… ํฌ๋กค๋ง ๋ถ„์„ ํ”„๋กœ์ ํŠธ (3) - RSS ํ™œ์šฉ ๋‰ด์Šค ํฌ๋กค๋ง

๋ฐ์ดํ„ฐํŒ์Šค 2024. 10. 17. 16:21

RSS๋ž€?

  • RSS(Really SImpel Syndication)๋ž€ ์›น ์‚ฌ์ดํŠธ์—์„œ ์ปจํ…์ธ ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ํฌ๋งท์ž…๋‹ˆ๋‹ค.
  • RSS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ํ•ด๋‹น ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์•„๋„ ํ•ด๋‹น ์‚ฌ์ดํŠธ์˜ ์—…๋ฐ์ดํŠธ๋œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํฌ๋กค๋ง๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ํ›จ์”ฌ ์‰ฝ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • RSS๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€์‹ฌ ์žˆ๋Š” ์›น ์‚ฌ์ดํŠธ์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์•„๋ณด๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด๊ณ , ํฌ๋กค๋ง์€ ์›น ์‚ฌ์ดํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  •  ๋ชฉ์ ๊ณผ ๋ฐฉ๋ฒ•์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ์ง€๋งŒ, ๋‘˜ ๋‹ค ์›น ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. 

 

 

 RSS ํ™œ์šฉํ•ด์„œ ๋‰ด์Šค ๋ฐ์ดํ„ฐ ํฌ๋กค๋ง ํ•˜๊ธฐ

import feedparser
import pandas as pd

url='https://news.sbs.co.kr/news/SectionRssFeed.do?sectionId=01&plink=RSSREADER'
feed=feedparser.parse(url)

# ๋นˆ ๋ฆฌ์ŠคํŠธ ์ •์˜
url_list=[]
title_list=[]
summary_list=[]
date_list=[]

#feed entries ์ˆœํšŒํ•˜๋ฉด์„œ ๋ฆฌ์ŠคํŠธ์— ๊ฐ’ ์ถ”๊ฐ€
for entry in feed.entries:
    url_list.append(entry.link)
    title_list.append(entry.title)
    summary_list.append(entry.summary)
    date_list.append(entry.published)

data={'๋‰ด์Šคurl':url_list,'์ œ๋ชฉ':title_list,'๋‚ด์šฉ์š”์•ฝ':summary_list,'๋‚ ์งœ':date_list}
df=pd.DataFrame(data)

์ด ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฐ€์žฅ ๋น ๋ฅธ ๋‰ด์Šค๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.