Menjana contoh perangkak secara automatik: Bermula dengan PHP dan Selenium

WBOY
Lepaskan: 2023-06-16 09:12:01
asal
921 orang telah melayarinya

Baru-baru ini, dengan perkembangan teknologi perangkak Internet, semakin banyak syarikat dan individu telah mula menggunakan perangkak untuk mendapatkan maklumat tapak web dan membantu menganalisis data perniagaan, analisis produk kompetitif, dsb. Dalam pembangunan perangkak sebenar, selalunya perlu menjana kod perangkak mudah dengan cepat untuk melaksanakan pengumpulan data dengan cepat. Artikel ini akan memperkenalkan amalan pengenalan menggunakan PHP dan Selenium untuk melaksanakan perangkak dan menyediakan perpustakaan yang menjana contoh perangkak secara automatik.

  1. Pengenalan kepada Selenium

Selenium ialah alat untuk ujian aplikasi web skrip ujian Selenium boleh dijalankan terus pada penyemak imbas untuk mensimulasikan operasi pengguna, seperti Buka halaman web , klik, taip, dsb. Selenium menyediakan pemacu dalam pelbagai bahasa, termasuk Java, Python, Ruby, PHP, dll., yang boleh anda pilih mengikut pilihan bahasa pengaturcaraan anda sendiri.

  1. Persekitaran dan Alat

Dalam amalan, kita perlu mengkonfigurasi persekitaran dan alatan berikut terlebih dahulu:

  • PHP 7.x dan ke atas
  • Pengurus Pakej Komposer
  • Selenium + ChromeDriver atau FirefoxDriver

Pertama ialah pemasangan persekitaran PHP Kaedah pemasangan adalah berbeza untuk setiap sistem pengendalian, jadi Saya tidak akan pergi ke butiran di sini. Selepas memasang PHP, kita perlu memasang Composer, pengurus pakej PHP yang boleh memasang sambungan PHP dan perpustakaan kelas dengan cepat.

Selenium menyediakan pelbagai pemacu, termasuk ChromeDriver, FirefoxDriver, dll. Di sini kami mengambil ChromeDriver sebagai contoh. ChromeDriver ialah pelaksanaan WebDriver bagi penyemak imbas Chrome dan sepadan dengan versi penyemak imbas satu-ke-satu. Mula-mula, pasang penyemak imbas Chrome, semak versi penyemak imbas Chrome, dan kemudian pergi ke tapak web rasmi ChromeDriver untuk memuat turun versi pemacu yang sepadan.

  1. Amalan: Melaksanakan perangkak mudah

Selepas memasang perisian yang diperlukan, kita boleh mula melaksanakan perangkak mudah. Katakan kita perlu merangkak maklumat produk pada platform e-dagang, termasuk nama produk dan harga. Ambil Taobao sebagai contoh:

Mula-mula, pasang Selenium dan ChromeDriver dalam cmd atau terminal:

composer require facebook/webdriver:dev-master
Salin selepas log masuk

Kemudian tulis skrip 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();
Salin selepas log masuk

Logik skrip ini sangat mudah, mula-mula konfigurasikan ChromeDriver dan buka halaman web yang perlu dirangkak, kemudian cari dan proses maklumat yang diperlukan berdasarkan pemilih elemen halaman.

  1. Menjana perpustakaan sampel perangkak secara automatik

Perkara di atas hanyalah amalan perangkak yang paling asas Jika anda perlu merangkak maklumat daripada tapak web lain, anda perlu mengubah suai kod mengikut situasi tertentu. Untuk tapak web e-dagang biasa seperti Taobao dan JD.com, mereka selalunya sudah mempunyai struktur dan elemen halaman tertentu, jadi anda boleh cuba menjana kod perangkak yang sepadan melalui automasi.

Memandangkan kami ingin menjana contoh perangkak secara automatik, kami memerlukan satu set input dan output, di mana input ialah tapak web yang akan dirangkak dan output ialah kod perangkak. Oleh itu, kami boleh menggunakan pembelajaran hujung ke hujung untuk memetakan tapak web dan kod perangkak menggunakan model pembelajaran mesin.

Secara khusus, kami boleh mengumpul sejumlah besar tapak web e-dagang dan kod perangkak yang sepadan, menganotasi tapak web (tanda maklumat dan elemen khusus untuk dirangkak), dan kemudian menggunakan model rangkaian saraf untuk melatih data . Model terlatih boleh menjana kod perangkak yang sepadan secara automatik berdasarkan tapak web input.

Dalam proses menjana contoh perangkak secara automatik, banyak kemahiran terlibat, termasuk merangkak data, anotasi data, latihan model rangkaian saraf, dsb. Oleh itu, kita boleh menggunakan platform yang disediakan oleh AI2 Notebook (https://github.com/GuiZhiHuai/AI2) untuk melaksanakannya berdasarkan keperluan dan kemahiran kita sendiri.

  1. Kesimpulan

Artikel ini memperkenalkan amalan pengenalan menggunakan PHP dan Selenium untuk melaksanakan perangkak mudah, dan menyediakan idea dan kaedah untuk menjana contoh perangkak secara automatik. Jika anda berminat dengan pembangunan perangkak dan teknologi AI, anda boleh menerokainya secara mendalam dalam amalan saya percaya akan ada lebih banyak penemuan dan aplikasi yang menarik.

Atas ialah kandungan terperinci Menjana contoh perangkak secara automatik: Bermula dengan PHP dan Selenium. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!