pyList

利用 API 自动向搜索引擎提交网址

前面已经介绍了向各大搜索引擎提交的经验,这次试着用 Go 语言去实践一下。也作个简单实践对比。拿 Google、Bing、Baidu 三大搜索引擎来比较,论简便性,B 字头的两个最简便,但从效果看,Google 最好。

bing push

百度

百度最简单,验证网站后,点击左侧 链接提交 就看到下面页面

百度网址提交

发送一个 POST 请求就可以,下面是用 Go 的简单实现

func Baidu() {
	sUrl := "http://data.zz.baidu.com/urls?site=https://pylist.com&token=xxxxxxxx"
	buf := bytes.NewBufferString("https://pylist.com/t/1581940902")
	req, err := http.NewRequest("POST", sUrl, buf)
	if err != nil {
		return
	}
	req.Header.Set("Content-Type", "text/plain")

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		return
	}
	defer resp.Body.Close()
}

Bing

Bing 也类似,不过要生成 API 密钥

Bing 生成密钥

然后根据文档提交,下面是go 的实现

func Bing() {
	sUrl := "https://ssl.bing.com/webmaster/api.svc/json/SubmitUrl?apikey=xxxxxxxx"
	buf := bytes.NewBufferString(`{
"siteUrl":"https://pylist.com",
"url":"https://pylist.com/t/1581940902"
}`)
	req, err := http.NewRequest("POST", sUrl, buf)
	if err != nil {
		return
	}
	req.Header.Set("Content-Type", "application/json; charset=utf-8")

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		return
	}
	defer resp.Body.Close()
}

对于一些错误的处理:

{"ErrorCode":14,"Message":"ERROR!!! NotAuthorized"}

原因是域名未验证

{"Message":"Authentication failed.","StackTrace":null,"ExceptionType":"System.InvalidOperationException"}

URL 改用 https://ssl.bing.com

bing 提交次数

这个域名的提交次数很多,但有些域名却只有10条。

bing 提交次数

bing 文档参考 https://docs.microsoft.com/en-us/dotnet/api/microsoft.bing.webmaster.api.interfaces.iwebmasterapi.submiturl?view=bing-webmaster-dotnet 19

Google

Google 最麻烦,估计是他家的东西多,关系复杂。但 Google 的文档也很具体,有时候也是因为太具体了,或是版本、页面改变,被弄晕是很正常。可以参考官方的文档慢慢实现。

google 提交网址索引

文档在这里 https://developers.google.com/search/apis/indexing-api/v3/quickstart 11

下面简单提一下中间遇到的小问题。

https://search.google.com/search-console 给已验证的域名添加所有者时,不是“添加用户”

添加所有者

否则会出现下面的错误

{
  "error": {
    "code": 403,
    "message": "Permission denied. Failed to verify the URL ownership.",
    "status": "PERMISSION_DENIED"
  }
}

在这之前,你可能会遇到这样的错误

Reason: required, Message: Login Required.

这个接口需要登录后操作,通过 oauth2 登录得到 token ,其有效时间是 1 小时。

需要在 google 的两个平台操作

更新

下面是帖子发表后截图更新

后台临时写了个 go 脚本,运行结果

go 向google提交网址

提交后刷新 Google 搜索结果

Google 搜索结果

意外发现,Bing 也秒收

Bing 也秒收

疑问的是:在测试里我并没有向 bing 提交啊

总结

Google 真心还是不错!Bing 也良心!!

本文标签: API 搜索引擎 网址 提交 自动
本文网址: https://pylist.com/t/1582821291 (转载注明出处)
如果你有任何建议或疑问可以在下面 留言
精彩评论
  • Tams
    Tams
    2020-05-15 11:15

    请问这个要怎么实现?能否加下QQ,我14977431,谢谢

发表评论
验证码图片
相关推荐