ノートPCのスクレイパーは、ラン途中に閉じたり、家庭のIPがレート制限されたり、起きていようといまいと同じジョブを毎時走らせたくなるまでは問題ありません。それをVPSに移せば三つとも直ります:24時間365日上がったまま、家庭のIPの評判を焼かず、cronやsystemdタイマーがあなたなしでスケジュール通り走らせます。ここに、その設定の仕方、実際どれくらいのサーバーが要るか、そしてほとんどのガイドが静かに飛ばす部分を。
なぜこれにVPSがあなたのマシンに勝つか
- 24時間365日で予約。 毎時走るスクレイパーには常時稼働のホストが要ります。ノートPCは違います。
- 家庭のIPがきれいに保たれる。 家からスクレイプするとレート制限とブロックを住宅IPが受けます。サーバーからやれば自分の接続は無傷。
- 安定性。 スリープなし、クロール途中のwifi断なし、安定したデータセンター接続、そして結果を溜める場所。
スタックと、各部分が要るもの
まったく違う二つの重量級で、間違ったプランを選ぶとお金を無駄にするかジョブを飢えさせます:
- httpx / requests(Python) — API、JSONエンドポイント、静的HTMLに。これは軽い:プロセスは数十メガバイトに座り、ネットワークバウンドでCPUバウンドではない。**$3 Nano(2 vCPU / 1 GB)**が快適に動かします、
asyncioでの並行でも。 - Playwright / ヘッドレスChromium — 実際のブラウザが要るJavaScriptレンダリングのサイトに。これが重いほう。ヘッドレスChromiumはおおよそブラウザインスタンスごとに300〜400 MB、加えて開いたコンテキスト/タブごとに100〜200 MB、加えてあなたのランタイム。予算:
- $5 Micro(2 vCPU / 2 GB) — 一度に一つか二つのブラウザコンテキスト。
- $8 Small(4 vCPU / 4 GB) — 複数の並列コンテキスト、あるいは重いページ。
目安の法則:あなたのコードはほぼ決してボトルネックではない — Chromiumがそう。スクレイパーではなくブラウザに合わせてサイズを。
スケジューリング:cronよりsystemdタイマー
cronも効きますが、保守するサーバーではsystemdタイマーがより良い既定:journalctl を通したログ、箱が落ちていたときのキャッチアップ、検査できるラン毎のステータス。最小限の設定:
# /etc/systemd/system/scrape.service
[Unit]
Description=Run scraper
[Service]
Type=oneshot
User=scraper
WorkingDirectory=/home/scraper/job
ExecStart=/home/scraper/job/venv/bin/python scrape.py
# /etc/systemd/system/scrape.timer
[Unit]
Description=Hourly scrape
[Timer]
OnCalendar=hourly
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl enable --now scrape.timer
journalctl -u scrape.service -f # ランを見る
Persistent=true がcronにできない部分:サーバーがラン時刻にオフだったなら、静かにスキップする代わりに起動時に一度発火します。
結果はどこへ
シンプルに、量に合わせて:クエリする構造化データには SQLite(一ファイル、設定ゼロ)、手早い表形式ダンプには CSV、結果が箱を超えるかサーバー外に置きたいときは S3互換オブジェクトストア。ログを回して(logrotate かjournaldの制限)、おしゃべりなスクレイパーがじわじわディスクを埋めないように。
正直な部分:送出IPと評判
これが、スクレイパーが一週間動くか初日にブロックされるかを決める細部です。
NATプランでは、送信元アドレスはあなた自身のものではありません。 その評判もあなたのものではありません — 同じアドレスから同じターゲットへの他人のトラフィックが、あなたが一度もリクエストを送る前にアドレスをレート制限させられます。軽く時々のスクレイピングには問題なし;量では負債。
専用IPはあなた自身の送出評判を与え — 他人の振る舞いはそれに影響しません。でも両刃:攻撃的なスクレイピングはあなた自身のきれいなIPを焼き、ターゲットが一度ブロックすればブロックされたままです。専用IPは制御であって免疫ではありません。
本当の大規模には、外部のプロキシプールが要ります。 一つのIP — NAT でも専用でも — は負荷を多くのアドレスに分散できず、それがIPレート制限のターゲットに対する本格的なスクレイピングが要求するものです。プロキシは上に足す汎用の第三者の層;VPSがスクレイパーを動かし、プロキシプールがアドレスを提供します。一つのサーバーIPにプロキシプールの仕事を期待しないこと。
倫理とAUP — 任意ではない
スクレイピングは法的・倫理的なグレーゾーンに住むので、曇りなく:
- レート制限とrobots.txtを尊重。 リクエストを絞りましょう。丁寧なスクレイパーはトラフィックに見え;無礼なものは攻撃に見えます。
- ターゲットをDoSしない。 サイトが倒れるまで叩くのはスクレイピングではなくサービス拒否 — そしてここでは利用規約違反でサービス停止になります。
- 許された分だけスクレイプ。 合法で許可されたデータ収集が境界線。越えればあなたの責任。
結論
VPSはスクレイパーの正しい住処:常時稼働、予約、家庭のIPから離れて。プランをスタックに合わせ — httpxには$3 Nano、Playwrightには$5 Microから$8 Small — systemdタイマーで予約し、IPに正直に:NATの送出アドレスはあなたのものではなく評判も同じ、専用IPはあなたが築くか焼くもの、本当の規模はプロキシプールを意味します。まず新VPSセキュリティチェックリストで箱を締め、VPSサイジングガイドで正しくサイズを取り、カードなし支払いのプライバシーが大事なら 匿名VPSの内訳 が正直な版です。責任をもってスクレイプを — AUPは本物です。
コメント
まだコメントはありません。最初になりましょう。