搜 索

百度API多文件自动提交 PHP代码

  • 134阅读
  • 2021年10月28日
  • 0评论
首页 / 网站建设 / 正文

百度官方给了提交核心代码,这里我们自己加一下遍历目录多文件提交,每个文件限制 2000 行 URL.
将文件保存成 baidu.php, 然后宝塔每天定时运行一次就行了。

需要用户提前把 txt 文件切割放到网站指定目录。
以后有空在完善,把自动切割和只提交未收录 url 也写了。

<?php
/*
1 先设置 url 的所在文件夹名称
2 修改提交 api 为自己的
3 ...
*/

// 遍历文件名函数
function get_dirs($dir_path)
{$res = array();
    $res_lists = array();
    foreach (glob("{$dir_path}/*.txt") as $item) {if (is_dir($item)) {$folder = end(explode('/', $item));
            $res[$folder] = get_dirs($item);
            continue;
        }
        $res[] = basename($item);
    }
    return $res;
}
// 设置文件夹名称
$url_dir = "urldir";
$arr = get_dirs($url_dir);

// 遍历提交
foreach ($arr as $value) {echo " 正在提交 {$value}...";
    // 打开 TXT
    $file = fopen("$url_dir/$value", "r");
    $urls = array();
    $i = 0;
    while (!feof($file)) {$urls[$i] = fgets($file);
        $i++;
    }
    fclose($file);
    $api = 'http://data.zz.baidu.com/urls?site=https://blog.yigeseo.net&token=ryH6CJcAkOHZv7XZ';
    $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);
    echo "$result<br>";
}
无标签
评论区
评论已关闭