PHP获取百度收录数量及百度快照
封面图
•
2025-09-30
•
PHP
139
0
0
0
在 PHP 中获取百度收录数量和百度快照,可以通过以下方式实现: --- ## ✅ 一、获取百度收录数量 ### 方法:使用百度搜索 API(需注册)或通过抓取百度搜索结果页面。 ### 方法 1:使用百度搜索 API(推荐) **步骤:** 1. 注册百度搜索开放平台账号:[https://open.baidu.com](https://open.baidu.com) 2. 创建应用并获取 `AppID` 和 `API Key`。 3. 使用百度搜索 API 查询网页是否被收录。 #### 示例代码: ```php <?php function getBaiduIndexCount($url, $apiKey, $appKey) { $api = "http://api.map.baidu.com/place/v2/search?query=site%3A" . urlencode($url) . "&output=json&ak=" . $apiKey; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true); if (isset($data['total'])) { return $data['total']; } else { return 0; } } // 示例调用 $yourUrl = 'example.com'; // 替换为你的网站域名 $apiKey = '你的百度API密钥'; $appKey = '你的百度应用密钥'; $indexCount = getBaiduIndexCount($yourUrl, $apiKey, $appKey); echo "百度收录数量: " . $indexCount; ?> ``` > ⚠️ 注意:百度的搜索 API 已逐渐停止支持,部分功能可能已不可用。建议使用其他方法。 --- ### 方法 2:通过抓取百度搜索结果页面(不推荐,容易被封 IP) ```php <?php function getBaiduIndexCountBySearch($url) { $searchUrl = "https://www.baidu.com/s?wd=site:" . urlencode($url); $html = file_get_contents($searchUrl); preg_match('/找到相关结果约(.*?)个/i', $html, $matches); if (isset($matches[1])) { return str_replace(',', '', $matches[1]); } else { return 0; } } // 示例调用 $url = 'example.com'; $count = getBaiduIndexCountBySearch($url); echo "百度收录数量: " . $count; ?> ``` > ⚠️ 注意:这种方法不稳定,容易被百度反爬虫机制拦截。 --- ## ✅ 二、获取百度快照时间(更新时间) ### 方法:抓取百度快照页面的 HTML 内容,提取“最后更新时间”。 ```php <?php function getBaiduSnapshotTime($url) { $snapshotUrl = "https://www.baidu.com/s?wd=site:" . urlencode($url) . "&tn=baiduadv"; $html = file_get_contents($snapshotUrl); // 提取快照时间(示例) preg_match('/<span class="c-color-gray">.*?<\/span>/i', $html, $matches); if (isset($matches[0])) { $timeStr = strip_tags($matches[0]); return $timeStr; } else { return "未找到快照信息"; } } // 示例调用 $url = 'example.com'; $snapshotTime = getBaiduSnapshotTime($url); echo "百度快照更新时间: " . $snapshotTime; ?> ``` > ⚠️ 注意:百度快照页面结构可能会变化,此方法可能失效。 --- ## ✅ 三、使用第三方接口(如站长工具) 你可以使用一些第三方接口来查询百度收录和快照,例如: - [站长之家 - 百度收录查询](http://www.chinaz.com/seo/baidu/) - [爱站网 - 百度收录查询](https://www.aizhan.com/) 这些网站通常提供 API 接口,但需要注册或付费。 --- ## ✅ 四、总结 | 功能 | 方法 | 备注 | |--------------|----------------------|-------------------------------| | 百度收录数 | 百度搜索 API | 需要注册,推荐使用 | | 百度收录数 | 抓取百度搜索结果 | 不稳定,易被封 | | 百度快照时间 | 抓取百度快照页面 | 结构易变,需定期维护 | --- 如果你有更多需求,比如自动检测、定时任务等,可以告诉我,我可以帮你写完整脚本。
上一篇:
量子世界是主观的?
下一篇:
PHP正则判断网址、email、手机号
标题录入,一次不能超过6条
返回顶部
留言
留言
评论