最近、インターネット クローラー テクノロジーの発展に伴い、Web サイトの情報を取得し、ビジネス データの分析や競合製品の分析などに役立てるためにクローラーを使用する企業や個人が増えています。実際のクローラ開発では、データ収集を迅速に実装するために、単純なクローラ コードをすばやく生成する必要があることがよくあります。この記事では、PHP と Selenium を使用してクローラーを実装する入門的な方法を紹介し、クローラーのサンプルを自動生成するライブラリを提供します。
Selenium は Web アプリケーション テスト用のツールです。Selenium テスト スクリプトをブラウザ上で直接実行して、Web ページを開くなどのユーザー操作をシミュレートできます。 、クリック、入力など。 Selenium は、Java、Python、Ruby、PHP などの複数の言語でドライバーを提供しており、独自のプログラミング言語の好みに応じて選択できます。
実際には、まず次の環境とツールを構成する必要があります:
まずは PHP 環境のインストールですが、OS ごとにインストール方法が異なりますので、ここでは詳細には触れません。 PHP をインストールした後、PHP 拡張機能とクラス ライブラリをすばやくインストールできる PHP パッケージ マネージャーである Composer をインストールする必要があります。
Selenium は、ChromeDriver、FirefoxDriver などを含むさまざまなドライバーを提供します。ここでは ChromeDriver を例に挙げます。 ChromeDriver は Chrome ブラウザの WebDriver 実装であり、ブラウザのバージョンと 1 対 1 で対応します。まず、Chrome ブラウザをインストールし、Chrome ブラウザのバージョンを確認してから、ChromeDriver 公式 Web サイトにアクセスして、対応するバージョンのドライバーをダウンロードする必要があります。
必要なソフトウェアをインストールした後、単純なクローラーの実装を開始できます。電子商取引プラットフォーム上の製品名や価格などの製品情報をクロールする必要があるとします。 Taobao を例に挙げます。
まず、cmd またはターミナルに Selenium と ChromeDriver をインストールします。
composer require facebook/webdriver:dev-master
次に、PHP スクリプトを作成します。
<?php require_once 'vendor/autoload.php'; use FacebookWebDriverRemoteRemoteWebDriver; use FacebookWebDriverWebDriverBy; // 配置ChromeDriver $host = 'http://localhost:9515'; $capabilities = array(FacebookWebDriverRemoteWebDriverCapabilityType::BROWSER_NAME => 'chrome'); $driver = RemoteWebDriver::create($host, $capabilities); // 打开网页 $driver->get('https://www.taobao.com'); // 输入搜索关键字 $input = $driver->findElement(WebDriverBy::name('q')); $input->click(); $input->sendKeys('电视机'); // 点击搜索按钮 $button = $driver->findElement(WebDriverBy::cssSelector('.btn-search')); $button->click(); // 获取商品名称和价格 $items = $driver->findElements(WebDriverBy::cssSelector('.item')); foreach ($items as $item) { $name = $item->findElement(WebDriverBy::cssSelector('.title'))->getText(); $price = $item->findElement(WebDriverBy::cssSelector('.price'))->getText(); echo $name . ' ' . $price . PHP_EOL; } // 退出ChromeDriver $driver->quit();
このスクリプトのロジックは非常に複雑です。シンプルです。まず ChromeDriver を設定し、クロールする必要がある Web ページを開き、ページ要素のセレクターに基づいて必要な情報を検索して処理します。
上記は最も基本的なクローラーの実践にすぎません。他の Web サイトから情報をクロールする必要がある場合は、次のようにコードを変更する必要があります。特定の状況に合わせて。 Taobao や JD.com などの一般的な電子商取引 Web サイトの場合、多くの場合、特定のページ構造と要素がすでに存在するため、自動化を通じて対応するクローラー コードを生成してみることができます。
クローラーのサンプルを自動的に生成したいので、入力と出力のセットが必要です。入力はクロールされる Web サイト、出力はクローラー コードです。したがって、エンドツーエンド学習を使用して、機械学習モデルを使用して Web サイトとクローラー コードをマッピングできます。
具体的には、多数の電子商取引 Web サイトと対応するクローラー コードを収集し、Web サイトに注釈を付け (クロールされる特定の情報と要素にマークを付ける)、ニューラル ネットワーク モデルを使用してデータをトレーニングできます。 。トレーニングされたモデルは、入力された Web サイトに基づいて、対応するクローラー コードを自動的に生成できます。
クローラーのサンプルを自動的に生成するプロセスには、データ クローリング、データ アノテーション、ニューラル ネットワーク モデルのトレーニングなど、多くのスキルが関係します。したがって、AI2 Notebook (https://github.com/GuiZhiHuai/AI2) が提供するプラットフォームを使用して、自分のニーズとスキルに基づいて実装できます。
この記事では、PHP と Selenium を使用して単純なクローラーを実装する入門的な方法を紹介し、クローラーのサンプルを自動生成するためのアイデアと方法を提供します。クローラー開発やAI技術に興味があれば、実際に深く調べてみると、さらに面白い発見や応用が生まれると思います。
以上がクローラーのサンプルを自動的に生成する: PHP と Selenium の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。