Blogger Information
Blog 20
fans 1
comment 1
visits 30707
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php使用webdriver获取百度页面源码
大瓶可乐
Original
2116 people have browsed it

使用 WebDriver,您可以等待页面加载完成并获取完整的渲染后的页面内容,包括动态生成的内容。这意味着您可以采集到前后端分离网站上通过 JavaScript 或 AJAX 加载的数据。接下来让我自己动手写一个试试看。

安装浏览器chrome

1. 下载 Chrome 浏览器的安装包:

   ```bash

   wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

   ```

2. 安装 Chrome 浏览器:

   ```bash

   sudo yum localinstall google-chrome-stable_current_x86_64.rpm

   ```

3. 验证 Chrome 是否成功安装:

   ```bash

   google-chrome --version

   ```

4. 下载对应版本的 ChromeDriver,并解压到指定目录(例如 `/usr/local/bin`):

https://googlechromelabs.github.io/chrome-for-testing/ (各个版本的下载地址) 

   ```bash

   wget https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip

   unzip chromedriver_linux64.zip -d /usr/local/bin/

   ```

5. 启动 ChromeDriver 服务:

   ```bash

   LANGUAGE=ZH-CN.UTF-8 /usr/local/bin/chromedriver --port=9515

   ```

6.成功运行后,您应该会看到类似以下输出:

```

Starting ChromeDriver {version} on port 9515...

Only local connections are allowed.

Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.

ChromeDriver was started successfully.

```

php代码执行

<?php
require_once('vendor/autoload.php');

use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Chrome\ChromeOptions;

$options = new ChromeOptions();
$options->addArguments(['--no-sandbox','--headless']);

$capabilities = DesiredCapabilities::chrome();
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);

$host = 'http://localhost:9555';
$driver = RemoteWebDriver::create($host, $capabilities);

// 访问百度网站
$driver->get('https://www.baidu.com');

// 获取页面源代码
$pageSource = $driver->getPageSource();

echo $pageSource;

// 关闭 WebDriver 会话
$driver->quit();

php使用webdriver做采集的好处

1. 自动化:WebDriver 可以模拟用户与浏览器的交互操作,如点击、输入文本、提交表单等。这使得您可以自动化执行各种网页操作,而无需手动进行。

2. 多浏览器支持:WebDriver 支持多种浏览器,包括 Chrome、Firefox、Safari 等。这意味着您可以在不同的浏览器上运行和测试您的采集脚本,以确保在不同环境下的兼容性。

3. 动态内容处理:许多网站使用 JavaScript 和 AJAX 技术来加载和更新内容。通过 WebDriver,您可以等待页面加载完成并获取完整的渲染后的页面内容,包括动态生成的内容。

4. 数据抽取:WebDriver 提供了丰富的方法和选择器来定位和提取页面中的元素。您可以使用这些功能来获取所需数据,并将其保存到文件或数据库中进行进一步处理。

5. 高度可定制化:WebDriver 允许您编写灵活且高度可定制化的采集脚本。您可以根据需要设置各种选项和参数,以适应不同网站和场景。

6. 跨平台支持:WebDriver 是一个跨平台的工具,可以在 Windows、Mac 和 Linux 等操作系统上运行。这使得它成为一个广泛适用的采集解决方案。

总的来说,使用 WebDriver 进行采集可以提高效率、减少人工操作、处理动态内容,并且具有灵活性和可定制性。它是一个强大而受欢迎的工具,适用于各种网页采集和自动化任务。

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post