Google-indexing api使用
最近有一个需求:向Google提交url,以便让Google搜索引擎能够更容易的搜索到我司域名下的产品地址,之前是人工通过页面提交的,由于url数量的不断增加,迫切需要转变为代码运作;
Google正好有一个API可以实现这一需求,它就是Google indexing API
借助 Indexing API,任何网站所有者都可在添加或移除网页时直接告知 Google。这样一来,Google 就能及时整理网页并安排进行新的抓取,从而带来更优质的用户流量。目前,Indexing API 只能用于抓取包含 JobPosting 或 BroadcastEvent(嵌套于 VideoObject)的网页。对于包含很多短效网页(如招聘信息或直播视频)的网站,Indexing API 会通过为不同的内容分别推送更新,使搜索结果中的内容保持最新状态。
以下是您可以使用 Indexing API 执行的一些操作:
- 更新网址:通知 Google 要抓取的新网址,或通知 Google 之前提交的网址上的内容已更新。
- 移除网址:从服务器中删除网页后,通知 Google,以便我们可以从索引中移除该网页,并且不会再次尝试抓取该网址。
- 获取请求的状态:查看 Google 上次针对特定网址收到每种通知的时间。
- 发送批量索引编制请求:通过将最多 100 个调用整合到单个 HTTP 请求中,减少客户端需要创建的 HTTP 连接数。
我们这里需要用到的是第一个(更新网址)和最后一个(发送批量索引编制请求)
思路如下:
- 启用 Indexing API,创建新服务帐号,在 Search Console 中验证所有权并获取访问令牌来验证 API 调用,从而满足前提条件。
- 发送请求,通知 Google 有新增、更新或删除的网页。
- 您可能需要比默认配额更多的配额。要查看当前配额和请求更多配额,请参阅配额。
下面进入正题:
1、首先启用indexing API
登录Google账号,打开服务账号页面(没有Google账号的自己注册,最近貌似只能用gmail邮箱注册):
https://console.cloud.google.com/projectselector2/iam-admin/serviceaccounts?hl=zh-cn&supportedpurview=project
创建一个或者选择一个现有项目
在上面输入框中搜索indexing API
进入第一个结果,点击“启用”,我这里已经启用了,显示的是“管理”
返回控制台,查看已启动的APP,新增indexing API
调用indexing API提示需要使用server account,下面我们进行创建
从控制台进入凭据菜单,创建凭据(crete credential)
赋予权限,添加key(有两种格式的认证文件json,p12)
通过网站授权就可以进行使用了
# -*-coding:utf-8
# author:lihaizhen
# date:
# description:import json
from oauth2client.service_account import ServiceAccountCredentials
import httplib2SCOPES = ["https://www.googleapis.com/auth/indexing"]
ENDPOINT = "https://content-indexing.googleapis.com/v3/urlNotifications:publish?alt=json"JSON_KEY_FILE = "modular-silicon-2006-a1f082705.json"
credentials = ServiceAccountCredentials.from_json_keyfile_name(JSON_KEY_FILE, scopes=SCOPES)
http = credentials.authorize(httplib2.Http())
content ={"url": "https://www.hurela.com/hurela-pre-plucked-hd-lace-wigs-body-wave-5x5-lace-closure-wigs-human-hair-180-density-natural-color.html","type": "URL_UPDATED"
}
response,content = http.request(ENDPOINT, method="POST", body=json.dumps(content))
print(response)
print(content.decode())
如果执行成功,会得到如下的结果
{'content-type': 'application/json; charset=UTF-8', 'vary': 'Origin, X-Origin, Referer', 'date': 'Wed, 20 Jul 2022 02:06:14 GMT', 'server': 'ESF', 'cache-control': 'private', 'x-xss-protection': '0', 'x-frame-options': 'SAMEORIGIN', 'x-content-type-options': 'nosniff', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"', 'transfer-encoding': 'chunked', 'status': '200', 'content-length': '437', '-content-encoding': 'gzip'}{"urlNotificationMetadata": {"url": "https://www.hurela.com/hurela-pre-plucked-hd-lace-wigs-body-wave-5x5-lace-closure-wigs-human-hair-180-density-natural-color.html","latestUpdate": {"url": "https://www.hurela.com/hurela-pre-plucked-hd-lace-wigs-body-wave-5x5-lace-closure-wigs-human-hair-180-density-natural-color.html","type": "URL_UPDATED","notifyTime": "2022-07-20T02:06:14.565171326Z"}}
}
如果失败,根据返回的status状态码进行问题查询
https://developers.google.com/search/apis/indexing-api/v3/core-errors?hl=zh-cn
Google-indexing api使用相关推荐
- Google Indexing API 推送 (避免踩坑)
https://developers.google.com/search/apis/indexing-api/v3/prereqs?hl=en_GB 官方文档 1. 在创建服务账号部分需要注意的是: ...
- python 根据地址求经纬度 谷歌_利用google的API获取世界城市经纬度(python实现)
google API 需要 --. #-*- coding: utf8 -*- from xml.dom import minidom import urllib2, urllib #这个KEY本来是 ...
- Google Map API 开发基础--01
本章内容将针对如何使用Google Maps API中各个接口进行详细阐述,将采用实例加详解的方式,介绍Google Maps每个类的实际用途和一些WebGIS的开发技巧.在阅读完本章之后,我们希望开 ...
- 关于Google Map API V2 版本的定位与导航
近来,在关注安卓手机上的GoogleMap应用的开发,但是目前官方API版本网页版已经升级到V3版,而对于Android的支持也已经升级到V2版本,虽然Google说继续对V1版提供服务,但是不再提供 ...
- 分享两篇Google Map API的介绍
这两篇文章也不知道我是什么时候下载下来的,一直丢在桌面上没有看,但终于在年后无聊就看了一下,结果让我心潮澎湃,一起哈成了"都让Google做了我们还做什么?(WebMap方向)"一 ...
- Google Maps API v2 android版本开发 国内手机不支持google play Service相关问题解决--图文教程
Google Maps API v2 android版本开发 国内手机不支持google play Service相关问题解决--图文教程 参考文章: (1)Google Maps API v2 an ...
- Google Map API V3开发(5)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Calendar API练习
今天看一篇关于介绍如何在.NET下对Google Calendar API进行操作的文章. Link: http://www.cnblogs.com/SkyD/archive/2009/07/23/1 ...
- google map Api接口整理
Google Map Api接口整理 一:基本知识: 1. 使用谷歌地图 API 的第一步就是要注册一个 API 密钥,需要注意一下两点: 1.如果使用 API 的页面还没有发布,只是在本地调试,可以 ...
- Google Maps API编程资源大全
Google Maps API是Google自己推出编程API,可以让全世界对Google Maps有兴趣的程序设计师自行开发基于Google Maps的服务,建立自己的地图网站.以下是我在Googl ...
最新文章
- Linux常用软件和安装方法,Linux软件安装与卸载常用方法(转)
- 关于NLP相关技术全部在这里:预训练模型、图神经网络、模型压缩、知识图谱、信息抽取、序列模型、语法分析、文本处理...
- datatable绑定comboBox显示数据[C#]
- php两个数组融合,php合并两个数组的方式有哪些
- 怎么设置tomcat的默认应用
- 08flask中get和post请求。
- 创建区块计算次数_以太坊创建者Vitalik Buterin为飙升的ETH交易费用提供扩展解决方案...
- Bagging与Boosting的区别与联系
- TeamViewer15免费版更换账户登录设备
- Chrome\Edge 更新后访问网站变慢或加载不出来,其他浏览器正常
- 黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处
- 计算机各种硬盘的规格,PS4硬盘基本规格和普通电脑硬盘有何区别?具体解析一览...
- win10桌面上鼠标右键卡顿(一直显示小圆圈)解决办法
- linux系统tomcat升级,Tomcat 7 升级到 Tomcat 8 历程
- vue项目 设置scrollTop不起作用(解决方法及原因)
- 2022中级Android开发面试解答,当上项目经理才知道
- oracle基本操作手册
- 计算机中 递归 的概念,递归是什么?关于递归的详细介绍
- 计算机软件与硬件相互制约吗,计算机软件与硬件介绍
- 半导体器件物理【15】非平衡过剩载流子 —— 连续性方程
热门文章
- 电大php考试,电大考试搜题神器免费
- 万科副总裁毛大庆在建策沙龙上关于楼市走向的发言
- Android Studio系统状态栏,设置setSmallIcon通知图标无效问题及解决方案
- 【内网渗透】域横向PTHPTKPTT哈希票据传递
- 我的世界修改服务器视距,教程/测量距离 - Minecraft Wiki,最详细的官方我的世界百科...
- rs485接口上下拉_RS-485总线为什么要加上拉下拉电阻?如何选择RS485的上下拉电阻?...
- invalid byte 1 of 1-byte UTF-8 sequence
- python好学吗-非科班出身自学Python好学吗?
- bzoj 1269 editor
- emacs下使用google-cpplint