如何使用PHP编写爬虫程序
PHP 编写爬虫程序通常使用 cURL 或者 file\_get\_contents 函数来发送 HTTP 请求,获取网页内容。以下是一个简单的 PHP 爬虫示例,它使用 cURL 来获取网页内容,并使用正则表达式提取链接。
<?php
function get_web_page($url) {
$options = array(
CURLOPT_RETURNTRANSFER => true, // 返回结果而不是输出
CURLOPT_FOLLOWLOCATION => true, // 跟踪重定向
CURLOPT_ENCODING => "", // 允许 gzip 解压
CURLOPT_USERAGENT => "spider", // 模拟用户代理
CURLOPT_AUTOREFERER => true, // 自动设置 Referrer
CURLOPT_CONNECTTIMEOUT => 120, // 连接超时
CURLOPT_TIMEOUT => 120, // 总超时
CURLOPT_MAXREDIRS => 10, // 最大重定向次数
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
if ($err) {
return "cURL error: " . $err;
} else {
return $content;
}
}
function extract_links($html) {
// 正则表达式匹配所有的a标签href属性
preg_match_all('/<a[^>]+href=["]([^"]+)](/i', $html, $matches) return $matches[1];
}
$url = "http://example.com";
$html = get_web_page($url);
$links = extract_links($html);
print_r($links);
?>
这个例子中的 get_web_page
函数用于获取指定 URL 的内容,extract_links
函数用于从网页内容中提取所有的链接。
注意:爬取数据时应当遵守相关的法律法规,并且要尊重网站的 Robots 协议,避免过度请求导致对网站的服务影响。
评论已关闭