Wenzi

使用 NodeJs 向百度资源推送链接

蚊子前端博客
发布于 2024/10/15 09:48
如何使用NodeJs快速向百度提交页面链接

我们为了方便百度快速感知到我们的新页面,可以向百度搜索主动推送资源,缩短爬虫发现网站链接的时间。

不过百度网站上的样例没有 Node.js 相关语言的,这里我可以提供一个实例。

使用 API 方式提交时,其实可以同时提交多个 url 的,将多个 url 换行隔开。

/**
 * 向百度推送链接
 */
const sendBdData = async (
  urls: string[]
): Promise<{
  /**
   * 成功的条数
   */
  success: number,
  /**
   * 剩余可推送条数
   */
  remain: number,
}> => {
  const SITE = "https://www.xiabingbao.com"; // 替换为网站域名
  const TOKEN = "更换为自己网站的token"; // 替换为百度站长平台获取的token

  const response = await fetch(`http://data.zz.baidu.com/urls?site=${SITE}&token=${TOKEN}`, {
    method: "POST",
    body: urls.join("\n"),
    headers: {
      "Content-Type": "text/plain",
    },
  });
  const { success, remain } = await response.json();
  return { success, remain };
};
export default sendBdData;

示例中,我们使用了 fetch 函数,这个函数是浏览器自带的,在 Node.js 中也可以使用。

在推送数据后,如果推送成功,会得到两个参数:

  • success: 表示本次成功推送了几天数据;
  • remain: 表示今日当天剩余的可推送 url 条数;

如果推送失败,或者当天超出额度限制,就会返回 error 和 message 参数。

更多相关问题,可以查看百度官网文档:如何使用API提交?

标签:baidu
阅读(86)
Simple Empty
No data