データ駆動型の需要の増加に伴い、ウェブサイトコンテンツの自動クロールは、多くの開発者の中心的なタスクになりました。 PHP言語とPHPSPider Crawlerフレームワークの柔軟性により、コンテンツの監視、データ分析、その他の目的に適した自動データクローリングシステムを迅速に構築できます。
PHPSPiderは、カスタムクロールロジックとページ処理フローをサポートする軽量PHPクローラーフレームワークです。ページHTMLソースコードをクロールするだけでなく、カスタムメソッドを介して構造化されたデータを抽出することもできます。
プロジェクトに作曲家を通じてPHPSPiderをインストールします。
composer require phpspider/phpspider
spider.phpという新しいスクリプトファイルを作成し、フレームワークをロードしてクローラークラスを継承し、クローリングロジックを定義します。
<?php
require_once 'vendor/autoload.php';
class MySpider extends phpSpiderSpider
{
// 開始URLを定義します
public $start_url = 'https://example.com';
// クロールする前の前処理
public function beforeDownloadPage($page)
{
// 最初のパラメーターを要求することができます
return $page;
}
// クロールされたページを処理します
public function handlePage($page)
{
$html = $page['raw'];
// ここに書かれていますHTML分析ロジック
// ...
}
}
// クローラーを作成して開始します
$spider = new MySpider();
$spider->start();
上記のコードは、フレームワーククラスを継承し、クロールルールを定義する方法を示しています。 BeforedOwnLoadPageは、アクセス前に処理ロジックを設定できますが、ハンドルページはクロール後のページ処理に使用されます。
Crawlerスクリプトの定期的な実行を実装するには、LinuxのCrontabツールを使用してタイミングタスクを設定できます。
タイミングタスクの構成を編集します:
crontab -e
次の構成を追加して、クローラースクリプトを毎分実行します。
* * * * * php /path/to/spider.php > /dev/null 2>&1
/path/to/spider.phpを実際のスクリプトパスに置き換え、リダイレクトシンボルを使用して出力ログを無視します。
Crontab構成ファイルを保存した後、次のコマンドでタスクをロードできます。
crontab spider.cron
その後、システムは設定された頻度でスクリプトを実行し、Webページのコンテンツを取得します。
PHP、PHPSPider、Linuxタイミングタスクを組み合わせることにより、ニュースコレクション、データの同期、コンテンツ監視、その他のシナリオに適した自動化されたWebクロールシステムをすばやく構築できます。フレームワーク自体は、柔軟なスケーラビリティと処理ロジックを提供し、開発者は必要に応じてデータ抽出および処理機能をさらに強化できます。
このチュートリアルが、PHP Automation Collectionの参照とヘルプを提供できることを願っています。