Rumah >pembangunan bahagian belakang >tutorial php >Menjadikan rangkak lebih mudah: Membangunkan perangkak web dengan PHP dan Selenium

Menjadikan rangkak lebih mudah: Membangunkan perangkak web dengan PHP dan Selenium

WBOY
WBOYasal
2023-06-16 10:09:13811semak imbas

Pertama sekali, mari kita perkenalkan secara ringkas apa itu perangkak web. Perangkak web ialah program yang secara automatik mendapatkan maklumat halaman web mengikut peraturan tertentu dan digunakan untuk mengumpul data di Internet. Dalam era Internet, pemerolehan data menjadi semakin penting, dan begitu juga perangkak web. Artikel ini menggunakan PHP dan Selenium untuk melaksanakan perangkak web mudah.

1. Prinsip asas perangkak

Prinsip asas perangkak ialah menulis program untuk mensimulasikan tingkah laku penyemak imbas, menghantar permintaan ke pelayan, menghuraikan kandungan yang dikembalikan dan mengekstrak data yang berguna. Kami boleh menganalisis kod sumber HTML halaman web untuk mendapatkan teg atau elemen di mana kandungan yang ingin kami perolehi terletak, dan kemudian menulis program untuk menangkap kandungan teg dan elemen ini.

2. Sebab memilih PHP sebagai bahasa pembangunan

PHP ialah bahasa skrip pelayan sumber terbuka yang popular Kerana kodnya ringkas, mudah dipelajari dan mudah digunakan, ia digunakan oleh banyak laman web. Ciri penting PHP ialah keupayaannya untuk dijalankan pada banyak platform sistem yang berbeza. Selain itu, PHP ialah bahasa berorientasikan objek, menjadikannya lebih mudah untuk dikekalkan dan boleh berinteraksi dengan banyak bahasa lain.

3 Pilih Selenium sebagai alat ujian automatik

Selenium ialah alat ujian aplikasi web yang popular. Ia boleh mensimulasikan tingkah laku manusia dalam penyemak imbas dan melaksanakan pelbagai tugas ujian, termasuk ujian automatik tapak web dan aplikasi. Selain itu, Selenium menyokong berbilang bahasa pengaturcaraan, termasuk PHP.

4. Persekitaran pemasangan dan konfigurasi

Menggunakan Selenium memerlukan pemasangan pemacu penyemak imbas dan penyemak imbas Chrome digunakan di sini.

1. Pasang penyemak imbas Chrome

Semasa memasang penyemak imbas Chrome, anda perlu memastikan pemacu Chrome sepadan dengan versi penyemak imbas.

2. Muat turun pemacu Chrome

Anda perlu menggunakan pemacu Chrome dalam program untuk mengawal kelakuan penyemak imbas. Untuk memuat turun pemacu, anda boleh memuat turun terus versi yang sepadan dari tapak web rasmi dan kemudian unzipnya.

3. Konfigurasikan pembolehubah persekitaran

Letakkan pemacu Chrome ke dalam pembolehubah persekitaran supaya program boleh mencari fail pemacu.

4. Pasang Selenium

Gunakan Komposer untuk memasang

composer require facebook/webdriver

5 Tulis kod

Berikut ialah contoh kod mudah untuk merangkak teks kotak Carian Baidu. di halaman utama:

<?php
require_once __DIR__ . '/vendor/autoload.php';
use FacebookWebDriverRemoteDesiredCapabilities;
use FacebookWebDriverRemoteRemoteWebDriver;

//指定驱动路径
$chromeOptions = new FacebookWebDriverChromeChromeOptions();
$chromeOptions->addArguments(['--headless']);
$chromeOptions->setBinary('/Applications/Google Chrome.app/Contents/MacOS/Google Chrome');
$capabilities = DesiredCapabilities::chrome();
$capabilities->setCapability(FacebookWebDriverChromeChromeOptions::CAPABILITY, $chromeOptions);

//连接Chrome并打开百度首页
$driver = RemoteWebDriver::create('http://localhost:9515', $capabilities);
$driver->get('http://www.baidu.com/');

//模拟搜索
$element = $driver->findElement(FacebookWebDriverWebDriverBy::id('kw'));
$element->sendKeys('hello world');
$element->submit();

//获取搜索结果中的相关内容
$results = $driver->findElements(FacebookWebDriverWebDriverBy::className('result-title'));
foreach ($results as $result) {
    echo $result->getText() . "
";
}

//关闭浏览器
$driver->quit();

Kod di atas menggunakan Selenium untuk menyambung ke Chrome dan membuka halaman utama Baidu, memasuki dunia helo dalam kotak carian, dan kemudian mensimulasikan penyerahan carian. Akhir sekali, tangkap kandungan dalam hasil carian dan keluarkannya.

6. Hasil pelaksanaan

Menggunakan kod di atas, anda boleh menangkap kata kunci dalam kotak carian di halaman utama Baidu. Kami boleh mengubah suai kod untuk merangkak lebih banyak tapak web dan menangkap lebih banyak data.

Selenium menyediakan banyak alatan yang sempurna untuk mengautomasikan ujian antara muka web, tetapi juga boleh digunakan untuk merangkak web. Menggunakan PHP untuk menulis kod perangkak dan Selenium untuk mensimulasikan tingkah laku penyemak imbas, perangkak boleh mengakses dan mengekstrak sejumlah besar data dengan mudah.

7. Ringkasan

Artikel ini memperkenalkan penggunaan PHP dan Selenium untuk melaksanakan perangkak mudah, termasuk konfigurasi persekitaran dan pelaksanaan kod. Ini adalah titik permulaan yang baik yang boleh dikembangkan kepada projek yang lebih besar dan menggunakan lebih banyak ciri. Jika anda ingin mengetahui lebih lanjut tentang perangkak web, anda boleh membaca buku berkaitan perangkak dan belajar daripada contoh kod perangkak yang lain.

Atas ialah kandungan terperinci Menjadikan rangkak lebih mudah: Membangunkan perangkak web dengan PHP dan Selenium. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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