特定の 180 のソースのみのコンテンツをインデックス化する php Web クローラーを作成しましたが、必要なコンテンツ (画像、URL、タイトル、完全なコンテンツ、抜粋、タグ) を分析、取得、保存するのにページあたり平均 2 秒かかります。(すべてのメタ タグを分析して正しいデータを取得するアルゴリズムがいくつかあります)
私は最新の 9 つの記事ページのみをクロールするので、ソースごとに 18 ~ 25 秒かかります。
10 個の異なる cron ジョブを作成したため (その間に 6 分)、それぞれが 18 個のソース (約 350 秒) を処理できます。
特に1kのソースに到達したい場合、これは非常に非効率的です。何を変更すればよいですか?
ps: 共有ホスティングでテストしていますが、専用サーバーを使用すると時間を大幅に短縮できますか?
cron ジョブは次のようなものです。
lynx -auth ユーザー名:パスワード website.com/crawler.php?group=1
lynx -auth ユーザー名:パスワード website.com/crawler.php?group=2
lynx -auth ユーザー名:パスワード website.com/crawler.php?group=3 など。
クローラー スクリプトはデータベースから 18 のソースにアクセスし、最新の 9 つの記事ページを取得してコンテンツをクロールし、分析し、結果に基づいてデータベースに保存します。