Cara menggunakan PHP dan Selenium untuk melengkapkan pembangunan dan amalan perangkak web automatik

PHPz
Lepaskan: 2023-06-15 08:30:01
asal
753 orang telah melayarinya

Teknologi crawler memainkan peranan penting dalam era digital hari ini. Oleh itu, pembangunan dan amalan perangkak web automatik wujud. Antara perangkak web, PHP ialah bahasa pengaturcaraan yang popular, dan Selenium ialah alat ujian automatik yang berkuasa yang boleh digunakan untuk kawalan penyemak imbas automatik dan pengekstrakan data halaman web. Seterusnya, kami akan memperkenalkan cara menggunakan PHP dan Selenium untuk melengkapkan pembangunan dan amalan perangkak web automatik.

  1. Pemasangan dan konfigurasi Selenium

Sebelum mula menggunakan Selenium, kami perlu menyambungkan pelayan Selenium ke komputer tempatan kami. Selain itu, kami juga memerlukan WebDriver supaya Selenium boleh mengawal pelayar untuk beroperasi. Untuk penyemak imbas Chrome, kami perlu memuat turun ChromeDriver dan menetapkannya kepada laluan sistem. Langkah-langkah khusus adalah seperti berikut:

1.1 Muat turun pelayan Selenium

Kami boleh memuat turun pelayan Selenium dari tapak web rasmi (http://www.seleniumhq.org/download/) untuk memasang Selenium.

1.2 Muat Turun ChromeDriver

Begitu juga, kami boleh memuat turun ChromeDriver di tapak web rasmi ChromeDriver (http://chromedriver.chromium.org/downloads).

1.3 Tetapkan laluan sistem

Tambahkan lokasi ChromeDriver yang dimuat turun pada pembolehubah PATH sistem untuk memanggil ChromeDriver dalam baris arahan.

  1. Pemasangan dan konfigurasi PHP

2.1 Muat turun dan pasang PHP

Kami boleh memuat turun dan memasang PHP dari tapak web rasmi PHP (http:// php.net/downloads .php) Muat turun PHP dan pasangkannya.

2.2 Pasang sambungan PHP yang diperlukan

Kami perlu memasang beberapa sambungan PHP agar PHP berkomunikasi dengan perpustakaan Selenium. Sambungan ini termasuk php-curl dan php-zip. Hanya masukkan arahan berikut dalam terminal:

sudo apt-get install php-curl
sudo apt-get install php-zip
Salin selepas log masuk
  1. Gabungan PHP dan Selenium

Selepas melengkapkan pemasangan dan konfigurasi Selenium dan PHP, kita boleh mula menggunakannya untuk Membangunkan perangkak web automatik.

3.1 Cipta skrip PHP

Kami boleh menulis skrip PHP dari awal, atau mencari skrip yang tersedia dari Internet. Berikut ialah contoh skrip PHP menggunakan Selenium untuk mengakses carian Google dan mengekstrak hasil:

require_once('vendor/autoload.php');
use FacebookWebDriverRemoteRemoteWebDriver;
use FacebookWebDriverWebDriverBy;
 
// 设置WebDriver
$host = 'http://localhost:4444/wd/hub';
$capabilities = array(WebDriverCapabilityType::BROWSER_NAME => 'chrome');
$driver = RemoteWebDriver::create($host, $capabilities);
 
// 访问Google主页
$driver->get('https://www.google.com/');
 
// 通过ID查找搜索框并键入查询关键字
$searchBox = $driver->findElement(WebDriverBy::id('lst-ib'));
$searchBox->sendKeys('PHP and Selenium automated web scraper');
$searchBox->submit();
 
// 通过CSS选择器查找查询结果,并将结果存储到数组中
$results = $driver->findElements(WebDriverBy::cssSelector('div.g'));
foreach ($results as $result) {
    echo $result->getText() . "
";
}
 
// 关闭WebDriver
$driver->quit();
Salin selepas log masuk

Dalam contoh ini, kami telah menggunakan kaedah findElement dan findElements untuk mencari elemen halaman web (iaitu kotak carian Google dan hasil carian senarai). Kami juga menggunakan kaedah sendKeys untuk menaip teks ke dalam kotak carian dan kaedah serah untuk menyerahkan borang carian.

  1. Sesetengah petua dalam amalan

Apabila membangunkan perangkak web automatik, terdapat beberapa petua yang boleh meningkatkan kecekapan kami.

4.1 Gunakan kelas yang betul

Apabila menggunakan Selenium, kita perlu menggunakan kelas yang betul yang disediakan oleh perpustakaan untuk beroperasi. Sebagai contoh, apabila mencari elemen berdasarkan atribut IDnya, kita harus menggunakan WebDriverBy::id untuk mencipta kelas Mengikut.

4.2 Elakkan pengekodan keras

Pengekodan keras merujuk kepada memasukkan nilai atau atribut tetap secara langsung dalam kod. Ini bukan sahaja sukar untuk dikekalkan, ia juga menghalang fleksibiliti skrip. Oleh itu, kita harus mengekstrak seberapa banyak pembolehubah dan maklumat yang boleh dikonfigurasikan ke dalam fail konfigurasi skrip yang mungkin.

4.3 Pengendalian Pengecualian

Oleh kerana kandungan halaman web di web sangat boleh diubah, pelbagai pengecualian yang tidak dijangka mungkin berlaku apabila kami mengekstrak data daripada halaman web. Untuk mengurangkan berlakunya situasi ini, kita harus melaksanakan pengendalian pengecualian dalam kod, seperti blok cuba-tangkap.

  1. Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan PHP dan Selenium untuk membangunkan perangkak web automatik dan memberikan contoh skrip. Kami juga telah menyertakan beberapa petua untuk membantu anda menggunakan gabungan ini dengan lebih baik dalam amalan. Rangkakan web automatik ialah teknologi yang sangat berguna yang boleh membantu kami meningkatkan kecekapan dan mendapatkan lebih banyak data dan maklumat. Oleh itu, jika anda melakukan pembangunan perangkak web, PHP dan Selenium akan menjadi alat yang sangat diperlukan anda.

Atas ialah kandungan terperinci Cara menggunakan PHP dan Selenium untuk melengkapkan pembangunan dan amalan perangkak web automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan