0

Webfaction でホストされている PostgreSQL データベースを使用する Django ベースの Web サイトを持っています。私は通常、HTML テーブル内の単一の Web ページにすべてのデータを一覧表示する別の Web サイトからデータベースのデータを手動で収集します (コピーしてテキスト ファイルに貼り付けます)。

Python でそのデータを自動的に収集する限り、html5lib や Scrapy などを使用して、Web ページをロードし、必要な HTML テーブルを見つけ、そこからデータを抽出し、JSON にフォーマットするスクリプトを作成する必要があると思います。 、次に使用します

manage.py loaddata fixturename.json

データをデータベースにロードします。私の質問は、このスクリプトを Webfaction のサーバーで 1 日 1 回自動的に実行するにはどうすればよいですか?

4

4 に答える 4

3

cronを使用してタスクをスケジュールできます。

crontab ファイルは次のようになります。

# Minute   Hour   Day of Month       Month          Day of Week        Command    
# (0-59)  (0-23)     (1-31)    (1-12 or Jan-Dec)  (0-6 or Sun-Sat)                
    0        1          *             *               *           /usr/bin/python manage.py loaddata fixturename.json

@daily /usr/bin/python manage.py loaddata fixturename.json(または、毎晩深夜に実行するために使用できます)

Webfaction のドキュメントを参照してください: http://docs.webfaction.com/software/general.html#scheduling-tasks-with-cron

于 2013-01-25T04:08:45.527 に答える
1

Cron または celerybeat が適切なオプションです。Cronはより簡単で、セロリはより多くの制御を提供します

http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html

于 2013-01-25T04:20:45.190 に答える
1

YQL を使用して Web サイトを破棄し、結果を json 形式で返すことができます。私は YQL を広く使用してアプリのデータを取得します。高速で、サーバーに負荷をかける必要はありません。

http://developer.yahoo.com/yql/

スクリプトを 1 日 1 回実行するには、cron ジョブに追加してみてください。

http://docs.webfaction.com/software/general.html#scheduling-tasks-with-cron

http://garrett.im/django/sysadmin/2011/10/03/cron-django-webfaction.html

于 2013-01-25T04:08:41.207 に答える
1

CRON ジョブを実行します。これは、設定した任意のスケジュールでサーバーにジョブを 1 回または繰り返し実行させる簡単な方法です。

また、他人のコンテンツをスクリーン スクレイピングする権限があることを確認してください。

于 2013-01-25T04:09:13.680 に答える