인터넷을 검색해서 특정 단어를 검출하고 가공하는 다양한 방법이 있다.

내가 하려고 하는 것은 매일 특정 기업의 기사를 검색하고
이 기사에 대해서 한눈에 볼 수 있도록 하는 것이다.

 

즉, 디즈니 관련 오늘 기사를 검색해서 
제목과 링크를 수집하는 코드를 작성해 보려고 한다. 

 

여러가지 웹 크롤링 방법이 있었지만
최종적으로 선택한 것은 "구글 피드"를 활용하는 것이다. 

셀레니움이나 다른 라이브러리를 사용하는 것도 좋겠지만
내가 사용하는 라즈베리파이 환경에서는 호환성 문제가 있었다
또한 간혹 페이지마다 크롤링을 막아 놓은 경우가 있고
단순하게 기사 제목과 링크 정도만 수집할 것이라
최대한 간단하게 구현할 수 있는 것이 좋다고 생각했다. 

전체 소스 코드는 아주 간단하다. 

(1) 오늘 날짜의 파일을 생성하고 "disney_news_2023-06-08.txt"
(2) 구글 rss feed 를 통해 기사를 검색한 뒤
(3) 제목 - 출처, 기사의 링크를 파일에 저장한다.  
import datetime
import feedparser

# 현재 날짜 얻기
today = datetime.date.today()

# Disney 관련 뉴스의 Google RSS 피드 URL
rss_url = 'https://news.google.com/rss/search?q=Disney&hl=en-US&gl=US&ceid=US:en'

# RSS 피드 가져오기
feed = feedparser.parse(rss_url)

# 오늘 날짜의 Disney 관련 뉴스를 저장할 파일 이름
filename = f"disney_news_{today}.txt"

# 오늘 날짜의 Disney 관련 뉴스를 파일에 저장
with open(filename, 'w', encoding='utf-8') as file:
    for entry in feed.entries:
        # 기사 게시 날짜 가져오기
        published_date = entry.published_parsed
        article_date = datetime.date(published_date.tm_year, published_date.tm_mon, published_date.tm_mday)

        # 오늘 날짜와 비교하여 동일한 경우에만 파일에 저장
        if article_date == today:
            title = entry.title
            file.write(f"{title}\n")
            file.write(f"link {link}\n")

print(f"오늘 날짜의 Disney 관련 뉴스가 '{filename}' 파일에 저장되었습니다.")

 

실행 결과 : disney_news_2023-06-08.txt


이제 파일로 저장한 내용을 자동으로 티스토리에 업로드 하도록 구성하면된다. 
이렇게 하면 매일 디즈니와 관련된 기사를 티스토리에 모아 둘 수 있게 된다. 

티스토리에 글을 작성할 경우 주의 사항은  HTML 문법 형태로 저장하여야 한다.
줄바꿈 <br> 등을 삽입하지 않으면 한 줄로 나열된 형태로 
글이 포스팅 된다. 

아래는 개행을 추가 하고 제목은 글씨를 두껍게 하도록 HTML 코드를 추가한 것이다.

import datetime
import feedparser

# 현재 날짜 얻기
today = datetime.date.today()

# Disney 관련 뉴스의 Google RSS 피드 URL
rss_url = 'https://news.google.com/rss/search?q=Disney&hl=en-US&gl=US&ceid=US:en'

# RSS 피드 가져오기
feed = feedparser.parse(rss_url)

# 오늘 날짜의 Disney 관련 뉴스를 저장할 파일 이름
filename = f"disney_news_{today}.txt"

# 오늘 날짜의 Disney 관련 뉴스를 파일에 저장
with open(filename, 'w', encoding='utf-8') as file:
    for entry in feed.entries:
        # 기사 게시 날짜 가져오기
        published_date = entry.published_parsed
        article_date = datetime.date(published_date.tm_year, published_date.tm_mon, published_date.tm_mday)

        # 오늘 날짜와 비교하여 동일한 경우에만 파일에 저장
        if article_date == today:
            title = entry.title
            link = entry.link
            file.write(f"<p>")
            file.write(f"<b>")
            file.write(f"{title}\n")
            file.write(f"</b>")
            file.write(f"<br>")
            #file.write(f"link {link}\n")
            file.write(f"<a href = {link} target="_blank"> link\n")
            file.write(f"<br>")
            file.write("</p>")

print(f"오늘 날짜의 Disney 관련 뉴스가 '{filename}' 파일에 저장되었습니다.")

 

추가로 진행할 것은 제목을 한글로 번역하고 
매일 티스토리의 카테고리에 업로드 할 수 있도록 구성하면 되겠다. 

 

2023.06.08 - [AI & 자동화/API_Contents] - disney_news_2023-06-08

 

disney_news_2023-06-08

Disney's $115,000 private jet experience is back - The Washington Post link 10 Disney Live-Action Movies That Redditors Actually Liked - Collider link Disney expert shares summer Disneyland tips, discounts and what's new - KGO-TV link Disney World Drops a

bard-google.tistory.com

 

+ Recent posts