文章摘要
这篇文章介绍了如何使用PHP和curl库从一个sitemap文件中读取URL,并通过特定API将这些URL提交到百度地图服务中。文章详细描述了读取sitemap文件、提取URL、构造curl请求以及处理响应的过程,展示了自动化数据提交的实现方法。
<?php
// 读取网站地图并转换为 PHP 对象
$xml = simplexml_load_file('https://www.1004619.com/sitemap.xml');
$urls = array(''); // 用来存储 URL
foreach ($xml->item as $val) {
// 把 URL 添加到 $urls
array_push($urls, $val->link);
}
$api = 'http://data.zz.baidu.com/urls?site=www.1004619.com&token=ovuhS57BoN9zn3J2'; // 提交地址
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
$result = json_decode($result); // 把返回的json字符串转换为php对象
// 是否推送成功
if (isset($result->success)) {
// 输出已推送的 URL 数量和网站地图中的 URL 数量
echo '推送完成,已推送的 URL 数量:' . $result->success . '网站地图中的 URL 数量:' . count($xml->url);
}else {
echo '推送失败,错误代码:' . $result->error;
}

Villain博客
