Rumah >pembangunan bahagian belakang >tutorial php >Cara cepat melaksanakan perangkak automatik menggunakan PHP dan Selenium
Dengan perkembangan Internet, teknologi crawler digunakan secara meluas dalam semua lapisan masyarakat. Perangkak automatik digunakan secara meluas dalam pengumpulan data dan ujian tapak web. Artikel ini akan memperkenalkan cara melaksanakan perangkak automatik menggunakan PHP dan Selenium dengan cepat.
1. Pengenalan kepada Selenium
Selenium ialah alat ujian automatik yang digunakan secara meluas untuk menguji aplikasi web. Selenium IDE ialah alat ujian aplikasi web, dan Selenium WebDriver ialah alat ujian automatik dipacu pelayar yang menyediakan antara muka untuk banyak bahasa pengaturcaraan, termasuk Java, C#, Python dan PHP.
Selenium WebDriver diuji berdasarkan penyemak imbas Ia boleh mengawal gelagat penyemak imbas dan mensimulasikan gelagat operasi pengguna aplikasi web. Menggunakan Selenium WebDriver, kami boleh melakukan ujian automasi web dan pengumpulan data web dengan mudah.
2. PHP menggunakan Selenium WebDriver
Pasang Selenium WebDriver untuk PHP
Pertama, kita perlu memasang Selenium WebDriver untuk PHP. Selenium WebDriver untuk PHP boleh dipasang dengan mudah menggunakan Composer. Cipta fail composer.json dalam direktori akar projek anda dan tambahkan kandungan berikut:
{
"name": "myproject", "description": "Using Selenium WebDriver for PHP", "require": { "php-webdriver/webdriver": "~1.4.0" }
}
Selepas menyimpan fail, anda boleh memasangnya dengan memasukkan arahan berikut pada baris arahan:
composer install
Ini akan memasang komponen yang diperlukan secara automatik.
Menggunakan Selenium WebDriver untuk PHP
Selepas pemasangan selesai, kita boleh mula menggunakan Selenium WebDriver untuk PHP untuk ujian automatik dan pengumpulan data Web. Mula-mula, kita perlu memperkenalkan kelas pelaksanaan WebDriver:
require_once 'vendor/autoload.php';
gunakan FacebookWebDriverRemoteCapabilities;
gunakan FacebookWebDriverRemoteWebDriverRemote.php; 🎜 >
Di sini kami menggunakan perpustakaan WebDriver untuk PHP yang dibangunkan oleh Facebook dan melaksanakannya dengan memperkenalkan kod di atas.
Kini, kami boleh menggunakan antara muka RemoteWebDriver untuk menyambung ke penyemak imbas untuk operasi automatik.
$host = 'http://localhost:4444/wd/hub';
$capabilities = array(WebDriverBrowserType::CHROME);$driver = RemoteWebDriver::create($host , New Capabilities($capabilities));
Di sini, kami memilih penyemak imbas Chrome dan menyambung ke penyemak imbas melalui kaedah cipta Kemudian kami boleh menggunakan antara muka WebDriver untuk memanggil kaedah penyemak imbas untuk melaksanakan ujian automatik dan Web Data dikumpul.
3. Laksanakan perangkak automatik
Seterusnya, kami menggunakan Selenium WebDriver untuk PHP untuk melaksanakan perangkak automatik.
Tentukan tapak web sasaran$movieName = 'YourMovieName';
// Contoh RemoteWebDriver baharu untuk disambungkan dengan penyemak imbas Chrome
$browser = RemoteWebDriver::create ($host, new Capabilities($capabilities));$browser->manage()->timeouts()->implicitly Wait(10);
// Buka tapak web sasaran
// Cari kotak carian dan serahkan pertanyaan
$searchBox->sendKeys($movieName);
$searchBox->submit();
// Tunggu halaman hasil dimuatkan
WebDriverExpectedCondition::titleContains($movieName)
// Klik pautan filem yang ditemui dan tunggu halaman butiran untuk dimuatkan
$movieLink = $browser->findElement(WebDriverBy::xpath("//a[contains(@href, '/film/{$name}.html')]"));$ movieLink->click();
$browser->tunggu()->sehingga(
WebDriverExpectedCondition::titleContains($movieName)
// Dapatkan maklumat terperinci filem
$ movieDirector = $browser->findElement(WebDriverBy::xpath("//p[contains(@class, 'lh30') and contains(text(), 'director')]"))-> getText();$movieActor = $browser->findElement(WebDriverBy::xpath("//p[contains(@class, 'lh30') dan contains(text(), 'starring')]") )-> getText();
$movieYear = $browser->findElement(WebDriverBy::xpath("//p[contains(@class, 'lh30') dan contains(text(), 'Year' )]") )->getText();
$movieDetail = $browser->findElement(WebDriverBy::xpath("//p[contains(@class, 'txt lh25')]))-> ;getText() ;
// Output hasil
";
gema "Pengarah: {$movieDirector}
";
gema " Pelakon: {$movieActor}
";
gema "Tahun: {$movieYear}
";
gema "Butiran: {$movieDetail}
";
Lulus Dengan PHP dan Selenium, kami boleh melaksanakan perangkak automatik dengan mudah untuk mendapatkan data yang kami perlukan.
4
Artikel ini memperkenalkan cara untuk melaksanakan perangkak automatik menggunakan PHP dan Selenium dengan cepat. Pertama, kami memperkenalkan pengetahuan asas dan kaedah pemasangan Selenium WebDriver. Kemudian, kami menerangkan cara menggunakan PHP dan Selenium WebDriver untuk melaksanakan perangkak automatik melalui contoh. Akhir sekali, kami meringkaskan kandungan artikel ini dan berharap ia akan membantu anda.
Atas ialah kandungan terperinci Cara cepat melaksanakan perangkak automatik menggunakan PHP dan Selenium. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!