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 连接数。

我们这里需要用到的是第一个(更新网址)和最后一个(发送批量索引编制请求)

思路如下:

  1. 启用 Indexing API,创建新服务帐号,在 Search Console 中验证所有权并获取访问令牌来验证 API 调用,从而满足前提条件
  2. 发送请求,通知 Google 有新增、更新或删除的网页。
  3. 您可能需要比默认配额更多的配额。要查看当前配额和请求更多配额,请参阅配额

下面进入正题:

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 httplib2

SCOPES = ["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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
鉴于您提供的引用内容,关于IDEA的索引问题,有几种解决方法可以尝试。首先,可以尝试使用"Invalidate Caches"功能来清除缓存。这可以通过点击"File",然后选择"Invalidate Caches"来完成。\[1\]如果这个方法不起作用,可以尝试手动清除缓存。进入到C:\Users\ASUS\AppData\Local\JetBrains\IntelliJIdea2021.2文件夹,然后删除"caches"和"index"文件夹。\[2\]另外,您还可以尝试升级IDEA的版本,因为在2021.3.2版本之后,该问题可能已经得到解决。\[3\]最后,您还可以尝试更换Maven的使用方式,不使用IDEA集成的Maven,而是使用阿里镜像库下载Maven文件包,并选择"settings-aliyun.xml"进行配置。这样可以避免在下载依赖时遇到网络不稳定的问题。\[3\]希望这些方法能够帮助您解决IDEA的索引问题。 #### 引用[.reference_title] - *1* [【小技巧】IDEA 卡住不动的解决办法](https://blog.csdn.net/LBWNB_Java/article/details/121065784)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [idea一直indexing JDK卡死解决方案](https://blog.csdn.net/Hcy_code/article/details/121484580)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [idea每次打开总是一直加载indexing library‘maven xxx‘‘,Scanning file to index,如何解决?](https://blog.csdn.net/u014103971/article/details/127979827)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值