PHP CURL 获取指定网页表格内容 - 无需 loadHTML 函数
使用 PHP CURL 访问网页并获取指定表格内容 (无 loadHTML 函数)
本教程演示如何使用 PHP CURL 访问特定网页并提取表格内容。我们将从 https://proxy.seofangfa.com/ 网站的表格中获取第 141 行到第 145 行的内容,并只提取前两个 <td> 标签的内容。
代码如下:
<?php
// 初始化CURL
$ch = curl_init();
// 设置CURL选项
curl_setopt($ch, CURLOPT_URL, 'https://proxy.seofangfa.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 执行CURL请求
$response = curl_exec($ch);
// 关闭CURL
curl_close($ch);
// 匹配表格内容
$pattern = '/<tr class="odd" align="center"><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td></tr>/si';
preg_match_all($pattern, $response, $matches);
// 输出结果
for ($i = 140; $i < 145; $i++) {
$td1 = strip_tags($matches[1][$i]);
$td2 = strip_tags($matches[2][$i]);
echo $td1 . ':' . $td2 . '<br>';
}
?>
解释:
- 初始化 CURL: 使用
curl_init()函数创建 CURL 对象。 - 设置 CURL 选项: 使用
curl_setopt()函数设置 CURL 选项,包括目标 URL、返回传输模式、自动重定向和 SSL 验证。 - 执行 CURL 请求: 使用
curl_exec()函数执行 CURL 请求并获取响应内容。 - 关闭 CURL: 使用
curl_close()函数关闭 CURL 连接。 - 匹配表格内容: 使用正则表达式
preg_match_all()从响应内容中提取表格内容。 - 输出结果: 循环遍历匹配到的表格数据,并提取每个
<tr>标签的第一个和第二个<td>标签内容,使用:连接并输出。
注意:
- 此代码假设目标网站的表格结构是固定的。
- 可以根据需要修改正则表达式以匹配不同的表格结构。
- 建议在使用 CURL 访问网站之前了解其robots.txt文件,以确保遵守网站的爬取规则。
原文地址: https://www.cveoy.top/t/topic/n8CX 著作权归作者所有。请勿转载和采集!