当前位置:首页 > PHP

php 爬虫实现

2026-02-14 11:49:03PHP

PHP 爬虫实现方法

使用 cURL 获取网页内容

cURL 是 PHP 中用于发送 HTTP 请求的强大工具,可以模拟浏览器行为获取网页内容。

$url = "https://example.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

使用 file_get_contents 简单获取内容

对于简单的 HTTP 请求,可以使用 file_get_contents 函数,但功能较为有限。

$url = "https://example.com";
$content = file_get_contents($url);
echo $content;

解析 HTML 内容

使用 DOMDocument 或第三方库(如 PHP Simple HTML DOM Parser)解析 HTML 内容。

$dom = new DOMDocument();
@$dom->loadHTML($response);
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//h1");
foreach ($elements as $element) {
    echo $element->nodeValue . "\n";
}

处理 JavaScript 渲染的页面

对于动态加载的内容,可以使用无头浏览器工具如 Puppeteer 或通过 API 接口获取数据。

// 使用 Guzzle 调用 Puppeteer 后端服务
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'http://localhost:3000/scrape', [
    'json' => ['url' => 'https://example.com']
]);
echo $response->getBody();

存储爬取的数据

将爬取的数据存储到数据库或文件中,便于后续处理。

$data = ["title" => "Example", "content" => "Sample content"];
file_put_contents('data.json', json_encode($data));

遵守 robots.txt 和法律法规

在开发爬虫时,务必遵守目标网站的 robots.txt 文件规定,避免频繁请求导致 IP 被封禁。

php 爬虫实现

$robotsUrl = "https://example.com/robots.txt";
$robotsContent = file_get_contents($robotsUrl);
echo $robotsContent;

通过以上方法,可以实现基本的 PHP 爬虫功能,根据需求选择适合的工具和技术。

标签: 爬虫php
分享给朋友:

相关文章

php实现图片上传

php实现图片上传

实现图片上传的基本步骤 创建HTML表单用于文件上传,表单需设置enctype="multipart/form-data"属性,确保文件数据正确传输。 <form action="upload…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素(不移除…

php 购物车实现

php 购物车实现

数据库设计 购物车功能通常需要设计数据库表存储商品和用户信息。常见的表包括products(商品表)、users(用户表)和cart(购物车表)。cart表通常包含字段:id(主键)、user_id(…

php实现统计

php实现统计

PHP 实现统计功能 在 PHP 中实现统计功能通常涉及数据的收集、处理和展示。以下是一些常见的统计实现方法: 数据库数据统计 通过 SQL 查询可以直接从数据库中获取统计结果: $conn =…

php 实现单点登录

php 实现单点登录

PHP 实现单点登录的方法 单点登录(SSO)允许用户通过一次登录访问多个相互信任的系统。以下是基于 PHP 的实现方案: 基于共享 Session 的方案 在同一个主域名下的子域名间可以通过共享…

php 实现mvc

php 实现mvc

PHP 实现 MVC 架构的方法 MVC(Model-View-Controller)是一种常见的软件设计模式,用于分离业务逻辑、用户界面和用户输入。以下是 PHP 实现 MVC 架构的关键步骤:…