2012-01-12 9 views
-1

私はGoDaddy共有LAMPサーバー上のPHPでスクリーンスクレイピングスクリプトをコマンドライン経由で実行しています。長時間実行中の画面スクラップスクリプトの実行

スクリプトは、必要な情報をスクラップして解析し、データベースに格納します。 1ページあたりのプロセス全体で約1.5秒かかり、10,000ページに近づく必要があります(ページごとに2つのCookieから1つのCookieを取得し、合計30kページ、つまりcurlになります)。

スクリプト全体が実行に約5時間かかります。私はいくつかのメモリプロファイリングを行っており、メモリ消費量は実行中はほぼ一定に保たれます。増加しません。

スクリプトを一晩実行すると、GoDaddyは異常なことに気付くでしょうか? CPU消費量はそれほど多すぎるはずはありませんが、1.5時間あたり3ページを5時間フェッチした場合の帯域幅消費量はどのくらい悪くなりますか? GoDaddyの終わりに警報を発するには十分ですか?

はいの場合は、スクリプトを分割して1500ページを実行し、1時間停止してから再開できるとします。私はそれをすべきか?私は答えを投稿します未回答の質問を残していないの便宜上

+1

試してみてください、ゴダディが教えてくれます。その後、具体的な(虚偽ではない)問題を解決する方法について後であなたの心を作り上げることができます。 – hakre

+0

"スクリプトを一晩実行すると、GoDaddyは何か異常なことに気づくでしょうか?CPU消費量はそれほど多すぎるはずはありませんが、1.5秒間に3ページを5時間フェッチした場合の帯域幅消費量はどれくらいですか? GoDaddyの終わりに警報を発する? GoDaddyはあなたがそれを実行するのを待つ必要はありません。彼らはあなたがここでそれについて読むことによってそうするつもりであることを見ることができます。スクリーンスクレイピングは情報を収集するための非常に貧弱な方法です。30Kページに対して実行する場合は、サイトからAPIやデータソースを探す方が良いと思わないでしょうか? –

+1

@theTinMan私は彼らがStackOverflow上のすべての質問を誰かが何か言及するかもしれないオフチャンスでスキャンするのではないかと疑います。また、「非倫理的」なのでスクリプトを停止することに心配していません。私はそれがアラームを発生させるリソースを消費するかもしれないと心配していました。とにかく、私は昨夜それを実行し、問題はなかったので、それはすべて良いです。 – xbonez

答えて

0

、:

私は一晩スクリプトを実行しました。走るのに約5時間かかったし、GoDaddyによっても終了されていなかったし、通知もなかったので、私はそれが問題ないと思う。

最初は私に割り当てられたメモリが不足しているメモリの問題がありましたが、それはPHP 5.3以前のバグでした(詳細はhere)。一旦固定されると、それは32-34MBのRAM使用量で全面的にホバリングしました。 CPUの消費量や帯域幅の使用に関するヒントはありません。

+0

@theTinManが「スクリーンスクレイピングは情報を収集することが非常に貧弱だ」と感じている理由を知りたいと思います。既存のデータをキャプチャして、特定のユーザの利益のために新しい方法で使用することは、有益であり、確かにデータを取得し提示する生産的な方法に見えます。あなたが盗んでいると仮定しているため、唯一の正しいコースは企業の法律評議会を通って許可を求めることです(APIが実際に存在しない場合)。確かに、彼らの仕事から利益を上げているなら、支払う必要があるかもしれませんが、それ以前はあなたのパーティーでレコードを再生する許可を求めることに似ています。いいえ? – Ricalsin

関連する問題