你可以直接寫一個baiduapi.php文件,然后放入代碼
<?php
/* 手動填寫接口秘鑰 */
$token = '這里放秘鑰';
/* 自動檢測當前主域名 */
$site = $_SERVER['HTTP_HOST'];
$site = "https://$site";
/* 讀取 sitemap.txt 文件內(nèi)容 */
$sitemapFile ='sitemap.txt';
if (file_exists($sitemapFile)) {
$lines = file($sitemapFile, FILE_IGNORE_NEW_LINES);
$validUrls = [];
foreach ($lines as $line) {
/* 解析鏈接的主域名 */
$parsed = parse_url($line);
$currentDomain = isset($parsed['host'])? "https://{$parsed['host']}" : '';
/* 如果主域名不一致,修改為當前主域名 */
if ($currentDomain!== $site) {
$line = str_replace($currentDomain, $site, $line);
}
/* 排除 tags 鏈接 */
if (!preg_match('/\/tags\//', $line) && preg_match('/\/(\d+)\.html$/', $line, $matches)) {
$validUrls[$matches[1]] = $line;
}
}
/* 按數(shù)值從大到小排序 */
krsort($validUrls);
/* 取前 5 個鏈接 */
$topUrls = array_slice($validUrls, 0, 5, true);
$urls = array_values($topUrls);
/* 顯示獲取的 5 個鏈接 */
echo "<p>本次獲取并準備提交的 5 個鏈接如下:</p>";
foreach ($urls as $url) {
echo "<p>$url</p>";
}
$api = "http://data.zz.baidu.com/urls?site=$site&token=$token";
$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'),
);
echo "<p>提交api確認:<br>http://data.zz.baidu.com/urls?site=$site&token=$token</p>";
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;
} else {
echo "<p>sitemap.txt 文件不存在</p>";
}
訪問https://域名/baiduapi.php,就可以。
操作原理是獲取sitemap.txt最大ID的鏈接地址