クロール開始時間を記録して、その記録時間を元にして、スクレイピングするデータを抽出して処理したい
クロール開始時間を記録し、その記録時間を使用してスクレイピングするデータを抽出して処理するために、次の手順を提案します。
-
クロール開始時間を記録する: クロールが開始されたときに、現在の日時を取得し、それを保存します。これは、例えばデータベースやファイルなどの永続的なストレージに保存されることが一般的です。
-
スクレイピング処理の実行時にクロール開始時間を取得する: スクレイピング処理が実行される際に、クロール開始時間を取得します。この情報を使用して、必要なデータをクロール開始時間以降に更新または作成されたものに限定することができます。
以下は、この手順を実装した例です。
python
# crawl.py import datetime # クロール開始時間を記録する def record_crawl_start_time(): start_time = datetime.datetime.now() # ここで、開始時間をデータベースやファイルなどの永続的なストレージに保存する # スクレイピングするデータを抽出して処理する def process_data_since_crawl_start(): # クロール開始時間を取得する # ここで、データベースやファイルなどの永続的なストレージからクロール開始時間を取得する # クロール開始時間以降に更新または作成されたデータを抽出して処理する # この例では、クロール開始時間から現在までの期間に関連するデータを処理する処理を示しています crawl_start_time = datetime.datetime.now() data_since_crawl_start = Data.objects.filter(created_at__gte=crawl_start_time) for data in data_since_crawl_start: # データを処理する pass # クロールを開始する def start_crawl(): record_crawl_start_time() # クロール処理を実行する
スクレイピング処理の中で process_data_since_crawl_start() 関数を呼び出すことで、クロール開始時間以降に更新または作成されたデータを処理することができます。

ディスカッション
コメント一覧
まだ、コメントがありません