实例:使用PHP编写简单的网页数据采集器
1. 环境准备
在开始编写PHP爬虫之前,确保你已经安装了以下环境:
- PHP环境

- 数据库(如MySQL)
- 一个文本编辑器(如Visual Studio Code)
2. PHP爬虫基本框架
以下是一个简单的PHP爬虫示例,用于从网页中采集数据。
```php
// 网页数据采集器
function fetchData($url) {
// 使用cURL获取网页内容
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3');
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
// 解析HTML内容
function parseHtml($html) {
// 使用DOMDocument解析HTML
$dom = new DOMDocument();
@$dom->loadHTML($html);
return $dom;
}
// 采集数据
function collectData($dom) {
// 获取所有文章标题
$titles = $dom->getElementsByTagName('h2');
$results = [];
foreach ($titles as $title) {
$results[] = $title->nodeValue;
}
return $results;
}
// 主程序
$url = 'http://example.com'; // 修改为实际网页URL
$html = fetchData($url);
$dom = parseHtml($html);
$data = collectData($dom);
// 输出采集到的数据
foreach ($data as $item) {
echo $item . '
';
}
>
```
3. 表格展示采集结果
| 序号 | 文章标题 |
|---|---|
| 1 | 标题一 |
| 2 | 标题二 |
| 3 | 标题三 |
| ... | ... |
4. 注意事项
- 在实际应用中,请确保遵守目标网站的使用协议,不要对网站造成过大的访问压力。
- 为了防止被目标网站封禁,可以在代码中添加延迟(sleep)功能。
- 在解析HTML时,要考虑目标网站的具体结构,可能需要调整解析逻辑。
通过以上实例,你可以了解到如何使用PHP编写一个简单的网页数据采集器。在实际应用中,你可以根据需要扩展功能,如采集、图片等。


