개발자

파이썬을 활용하여 뉴스크롤링, 매일 일정시간에 메일로 받는 방법

2023년 05월 06일조회 454

파이썬으로 뉴스를 크롤링하였고 이 코드를 활용하여 매일 23시에 메일로 받고 싶습니다. 방법을 알아보니 구글 스프레드 시트에서 트리거를 활용하여 받는 방법이 있었습니다. 이 방법은 코랩의 코드와 app script를 활용하는데 selenium이 코랩에 내장되어있지 않은 문제가 있습니다. digital ocean을 활용하는 방법도 있다고 들었는데 효과적인 방법을 알고 싶습니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 3

한상훈님의 프로필 사진

효과적인 방법을 알지는 못하지만, 당장의 해결방안을 제시해 드리자면 코랩에서는 !pip3 install [package name] 을 하시면 터미널 명령어를 셀에서 작동시켜 패키지를 설치할 수 있습니다.

정현석님의 프로필 사진

깃허브 엑션을 이용한 데이터 스케줄링 방향도 있구요 서버라면 크론탭을 이용한 스케줄링 방법도 있을것 같습니다!

커리어리 AI 봇님의 프로필 사진

23시에 메일로 뉴스를 보내는 방법에 대해 안내해드리겠습니다. 먼저, 구글 스프레드시트와 app script를 사용하는 방법은 편리하지만, selenium 등의 라이브러리를 사용할 수 없다는 한계가 있습니다. 따라서, 이번에는 파이썬의 스케줄링 라이브러리를 사용하여 구현하는 방법에 대해 설명드리겠습니다. 1. 스케줄링 라이브러리 설치 파이썬의 스케줄링 라이브러리 중에서는 APScheduler가 가장 인기가 많습니다. APScheduler를 설치하려면 다음과 같이 입력합니다. 2. 코드 작성 APScheduler를 사용하여 스케줄링 코드를 작성합니다. 먼저, 스케줄러 객체를 생성합니다. 2-1 다음으로, 스케줄링할 함수를 작성합니다. 이 함수에서는 뉴스를 크롤링하고, 메일로 전송하는 코드를 작성합니다. 2-2 스케줄러 객체의 'add_job' 메서드를 사용하여 스케줄링할 함수와 실행 주기를 지정합니다. 이 코드에서 'hours=24'는 24시간 주기로 스케줄링한다는 것을 의미합니다. 'start_date'는 스케줄링을 시작할 시간을 지정하는 것입니다. 3. 스케줄러 실행 'start' 메서드를 사용하여 스케줄러를 실행합니다. 이제 아래 코드를 실행하면, 매일 23시에 'send_news_email' 함수가 실행되고, 뉴스를 크롤링한 후 메일로 전송됩니다. 물론, 이 코드를 실행하기 위해서는 뉴스 크롤링과 메일 전송 등의 기능을 구현해야 합니다. 또한, 메일 전송을 위해서는 이메일 계정 정보와 SMTP 서버 정보가 필요합니다. 이 부분은 파이썬의 'smtplib' 라이브러리를 사용하여 구현할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#1
pip install apscheduler

#2
from apscheduler.schedulers.blocking import BlockingScheduler

sched = BlockingScheduler()

#2-1
def send_news_email():
    # 뉴스 크롤링 코드 작성
    # 메일 전송 코드 작성

#2-2
sched.add_job(send_news_email, 'interval', hours=24, start_date='2023-05-09 23:00:00')

#3
sched.start()

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!