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のユーザー権限の確認と管理方法の詳細な説明

推薦する

MySQL は制限を使用してページング例メソッドを実装します

1. 制限の基本的な実装一般的に、クライアントは、pageNo (ページ番号) と pageSize...

JavaScriptカスタムオブジェクトメソッドの概要

目次1. オブジェクトを使用してオブジェクトを作成する2. コンストラクタを使用してオブジェクトを作...

Docker イメージのインポートとエクスポートのコード例

Dockerイメージのインポートとエクスポートこの記事では、移行、バックアップ、アップグレードなどの...

Nginxはhttpとhttpsの両方のアクセスをサポートするために同じドメイン名を設定します

Nginx は同じドメイン名で構成されており、http と https の両方でアクセスできます。証...

MySQL 5.7 のスロークエリログの時間がシステム時間より 8 時間遅れている理由の詳細な説明

遅いクエリをチェックすると、時間が正しくなく、システム時間とちょうど 8 時間異なっていることがわか...

Vueはプラグインを使用して画像を比例してカットします

この記事では、プラグインを使用して画像の比例カットを実現するVueの具体的なコードを参考までに共有し...

MySQL DMLステートメントの使用に関する詳細な説明

序文:前回の記事では、注意深い学生であれば発見できたかもしれない DDL ステートメントの使用法を中...

Flexレイアウトとスケーリング計算についての簡単な説明

1. Flexレイアウトの紹介Flex は Flexible Box の略で、「柔軟なレイアウト」を...

PHP 開発環境の構築に関する win10 docker-toolsbox チュートリアル

画像をダウンロード docker プル mysql:5.7 docker pull php:7.2-...

HTMLからReactを実装する方法を教えます

ReactとはReact は、効率的で高速なユーザー インターフェイスを構築するためのシンプルな J...

ウェブタイポグラフィにおける致命的な意味的ミス 10 選

<br />これは、Steven D が書いた Web フロントエンド開発デザインの基本...

Linux LVM 論理ボリューム構成プロセス (作成、増加、削減、削除、アンインストール) の詳細な説明

Linux LVM論理ボリューム構成プロセスの詳細な説明多くの Linux ユーザーは、オペレーティ...

Vueはツリー構造の追加、削除、変更、チェックのサンプルコードを実装します

実は多くの会社がユーザー権限ツリーに似た機能を持っています。最近、追加、削除、修正のツリー構造を書き...

VMware 12 での Ubuntu 16.04 インストール チュートリアル

この記事では、VMware 12でのUbuntu 16.04のインストールチュートリアルを参考までに...

HTML 選択オプションの基本的な理解と使用

JavaScript での HTML (選択オプション) の詳細な説明1. 基本的な理解:コードをコ...