PHP 爬虫实战:从百度搜索结果中提取所需数据
<?php
// 初始化HTTP客户端
$httpClient = new Snoopy\Snoopy();
// 设置请求的URL
$url = 'http://www.baidu.com/s?wd=ip';
// 发送请求
$httpClient->fetch($url);
// 检查是否有错误
if (!$httpClient->error) {
// 获取响应的HTML内容
$content = $httpClient->results;
// 使用正则表达式匹配所需数据
preg_match_all('/<a href="(.*?)" target="_blank" class="">(.*?)<\/a>/i', $content, $matches);
// 提取URL和标题
$urls = $matches[1];
$titles = $matches[2];
// 输出结果
foreach ($urls as $index => $url) {
echo "标题: " . $titles[$index] . "\n";
echo "URL: " . $url . "\n";
echo "------------------------------\n";
}
} else {
// 输出错误信息
echo "错误: " . $httpClient->error . "\n";
}
这段代码使用了Snoopy库来发送HTTP请求,并使用正则表达式来提取搜索结果中的URL和标题。这个例子简单直观地展示了如何使用PHP进行基本的网络爬虫操作。
评论已关闭