Linux に Python クローラー スクリプトを展開し、スケジュールされたタスクを設定する方法

Linux に Python クローラー スクリプトを展開し、スケジュールされたタスクを設定する方法

昨年、プロジェクトの必要性により、Python でクローラーを作成しました。クロールされたデータは、本番環境の PG データベースに保存する必要があります。したがって、スクリプトを CentOS サーバーに展開し、スクリプトを自動的に開始するスケジュールされたタスクを設定する必要があります。

実装手順は次のとおりです。

1. pip をインストールします (オペレーティング システムには直接使用できる python2.6 が付属していますが、pip はありません)

# pip インストール パッケージをダウンロードします wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
# インストールパッケージを解凍してインストールします tar -xzvf pip-1.5.4.tar.gz
cd pip-1.5.4
python setup.py インストール

2. pipでサードパーティのライブラリをインストールする

PyGreSQL==5.0.3 を pip でインストールします
pip インストール リクエスト == 2.18.3

3. スケジュールされたタスクを設定する

# スケジュールされたタスクサービスを開始します service crond start
# スケジュールされたタスクのサービスステータスを表示する service crond status
# スケジュールされたタスク編集ウィンドウを開く crontab -e 
# 毎日 0:00 と 12:20 に 1 回ずつ実行され、ログに書き込まれる 2 つのスケジュールされたタスクを追加します 0 0 * * * /usr/bin/python /home/longrise/psrd/collect.py > /home/longrise/psrd/collect.log 2>&1 &

20 12 * * * /usr/bin/python /home/longrise/psrd/collect.py > /home/longrise/psrd/collect.log 2>&1 &

スケジュールされたタスクの構文は次のとおりです。
# 詳細については man 4 crontabs を参照してください

# ジョブ定義の例:
# .---------------- 分 (0 - 59)
# | .------------- 時間 (0 - 23)
# | | .---------- 月日 (1 - 31)
# | | | .------- 月 (1 - 12) または jan、feb、mar、apr ...
# | | | | .---- 曜日 (0 - 6) (日曜日 = 0 または 7) または sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * ユーザー名 実行するコマンド

Linux に Python クローラー スクリプトを展開し、スケジュールされたタスクを設定する上記の方法は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • Jenkins 構成 Python スクリプト タイミング タスク プロセス ダイアグラム
  • Python BlockingScheduler タイミングタスクおよびその他の実装
  • Python のタイムタスクツール APScheduler の使い方
  • Python スケジュールタスク APScheduler の例の詳細な説明
  • Python クローラーのスケジュールされたタスクの一般的な方法 (推奨)

<<:  JS WebSocket 切断理由とハートビートの仕組みの詳しい説明

>>:  MySQLのユーザー権限の確認と管理方法の詳細な説明

推薦する

HTML テーブルタグについての簡単な説明

主にその構造といくつかの重要な特性について説明します。少しずつ改善しながら紹介していきます。 1) ...

docker+gitlab+gitlab-runnerの詳細なデプロイメント

環境サーバー: centos7クライアント: ウィンドウCentos7 に docker+gitla...

Webフロントエンドスキル概要(個人の実務経験)

1. 今日、ページを作っているときに、矢印を中央に配置する効果に遭遇しました。クリック領域を大きくし...

EDMをHTMLで記述する際の注意点まとめ(メール送信時の一般的な注意点)

フォーマットエンコーディング1. ページの幅は600~800px、長さは1024px以内に設定してく...

JavaScript で DOM 要素を監視する MutationObServer の詳細

1. 基本的な使い方これは MutationObserver コンストラクターを通じてインスタンス化...

CSSクラス名の問題の詳細な説明

数字で始まる次の CSS クラス名は有効になりません。 .1番目{ 色: 赤; }有効な CSS ク...

MySQL における varchar 型と char 型の違い

目次前述のVARCHAR型VARCHAR適用可能な状況CHAR型テストVARCHAR(5)とVARC...

Vue 値転送の 12 の方法の概要

目次1. 父から息子へ2. 息子から父へ3. ブラザーコンポーネント通信(バス) 4. ref/re...

Node.jsがES6モジュールを処理する方法の詳細な説明

目次1. 2つのモジュールの違い2. Node.jsとの違い3. CommonJSモジュールの読み込...

Docker に nginx をインストールし、https 経由でアクセスを構成する方法

1. 最新のnginx dockerイメージをダウンロードする $ docker pull ngin...

Dockerはコンテナポートバインディングのローカルポートを実装します

今日、イメージを起動した後、HTTP リクエスト経由でアクセスできないという小さな問題が発生しました...

Linux で SSH サーバー エイリアスを作成する 2 つの方法

序文SSH 経由でさまざまなリモート システムに頻繁にアクセスする場合は、このトリックを使用すると時...

一意の注文番号を生成するためのMySQLの高同時実行方法

序文このブログ記事が公開された後、何人かの友人からSQL Serverバージョンがあるかどうか尋ねら...

入力タイプの制限(複数の方法)

1. 入力・貼り付けできるのは中国語のみ<input onkeyup="value=...

DockerにRabbitMQを素早くインストールする方法

1. 画像を取得する #Webコントロールページを含むバージョンを指定します docker pull...