Pythonを使用したWebクローリングの自動化: schedule、Task Scheduler、crontab

Python을 사용한 웹 크롤링 자동화 방법을 살펴봅니다. 'schedule', 'Task Scheduler', 'crontab'을 활용하여 효율적으로 작업을 자동화하세요.

9
Pythonを使用したWebクローリングの自動化: schedule、Task Scheduler、crontab

0. ウェブスクレイピング、手動で実行するのは非常に面倒でしたか?

ウェブスクレイピングのコードを書いたけれど、毎回手動でコードを実行するのは面倒ですか?望む時間と周期でPythonコードが自動的に実行される方法を紹介します。自動化の始まり、一緒にやってみましょう!

1. Pythonスケジューラーの活用

Pythonでウェブスクレイピングコードを書いた場合、最も簡単な方法の1つはPythonの 'schedule' ライブラリを活用することです。

1.1. ライブラリのインストール

pip install schedule

1.2. 自動化コード

import schedule
import time

def job():
    print("크롤링 시작!")
    # 여기에 웹 크롤링 코드를 넣으세요.

schedule.every(10).minutes.do(job)   # 10분마다
# schedule.every().hour.do(job)     # 1시간마다
# schedule.every().day.at("10:30").do(job)  # 매일 10:30에

while True:
    schedule.run_pending()
    time.sleep(1)

2. システムスケジューラーの活用

システムスケジューラーは、オペレーティングシステムが提供するツールで、ユーザーが事前に設定した時間や周期に、希望する作業を自動的に実行できるようにします。ウェブスクレイピングスクリプトだけでなく、バックアップ、システム更新などさまざまな作業に活用されます。Windowsの 'Task Scheduler'、MacやLinuxの 'cron'が代表的な例です。

2.1. Windows: Task Scheduler

  • スタートメニューから 'タスクスケジューラ' を検索します。

  • 'タスクの作成' を選択します。

  • タスク名、説明を入力します。

  • 'トリガー' タブから新しいトリガーを追加して実行時間や周期を設定します。

  • 'アクション' タブから新しいアクションを追加してPythonスクリプトを実行するコマンドを入力します。例: python.exe パス\script.py

  • 設定が完了したら 'OK' をクリックしてタスクを保存します。

※ 注意: PythonスクリプトのパスやPython実行ファイルのパスに空白が含まれている場合は、二重引用符(")で囲む必要があります。

2.2. Mac & Linux: cron

  • ターミナルを開き、crontab -e コマンドを入力してcron jobを編集します。

  • 以下の形式に従ってスケジューリングしたい作業を追加します。

분 시 일 월 요일 /파이썬의_절대경로/python3 /크롤링_파이썬_스크립트의_절대경로/script.py

例) 毎日午後3時30分に実行したい場合:

30 15 * * * /usr/local/bin/python3 /your/path/to/script.py

※ ログ確認: 基本的にcronジョブの出力はメールで送信されますが、ほとんどのシステムではこのメールシステムが有効になっていないことが多いです。そのため、ログファイルに直接出力するように設定できます。

※ 注意: cronは絶対パスを使用する必要があるため、Pythonとスクリプトの絶対パスを正確に入力する必要があります。

環境変数が設定されていない可能性があるため、スクリプト内で必要な環境変数を直接設定することが良いでしょう。

3. 結び

これまでにPythonスケジューラーとシステムスケジューラーを活用してウェブスクレイピングコードを自動化する方法を見てきました。ウェブスクレイピング作業の効率性を最大化するには、これらの自動化ツールを活用することが重要です。

また、前述の方法以外にもさまざまなクラウドサービスや専門の自動化ツールがあるので、最適な解決策を見つけるためにさまざまな方法を探求することも良いでしょう。

自動化は単純な繰り返し作業から私たちを解放し、より価値のある作業に集中できるよう支援してくれます。積極的に活用してみてください!

この記事も一緒に読んでみてください:

データ収集、今度は自動化しましょう

コーディング不要で5分で開始 · 5,000以上のウェブサイトスクレイピング経験

無料で始める →

Comments

Add Comment

Your email won't be published and will only be used for reply notifications.

続きを読む

Get notified of new posts

We'll email you when 해시스크래퍼 기술 블로그 publishes new content.

Your email will only be used for new post notifications.