google批量搜索实现方式

本文主要记录一下最近所做的关于Google批量搜索的实现方式。

 

搜索目的:

获取关键词在某个域名下对应的Google搜索结果数

搜索方式:

关键词+inurl

例如:"爬虫" inurl:cnblogs.com

 

第一种方式:

使用爬虫手段,构造Google搜索url进行采集。

示例:https://www.google.com/search?q=%22%E7%88%AC%E8%99%AB%22+inurl:cnblogs.com&filter=0

此种方式需要面对的问题有:

1、搜索结果有误差,不同ip得到的结果数不一样,不过误差也不是很大,可以接受。

2、搜索结果第一页显示数量和第二页显示数量存在误差,误差很大。第二页更真实。

3、单个ip一般访问几十次就会被识别为机器人,需要验证码,而Google验证码的难度惊人。。。

4、由于某些原因,可以访问Google的资源非常宝贵。市面上甚至没有可以用的代理(大量短效代理)。

Luminati是一家不错的海外代理服务商,但是竟然不能访问Google。自建代理的话,成本太高。

解决方案:

我还是自建代理了:)。

 

第二种方式:

使用Google Custom Search Api,文档参见 https://developers.google.com/custom-search/v1/overview

费用计算:

1、每日免费使用100次。

2、超过100次后,按照$5/1000次收费。每日上限10000次。

3、也有不设置上限的接口,参见 https://developers.google.com/custom-search/v1/site_restricted_api 

区别在于此接口不能全网搜索,如果只是搜10个一下指定站点的内容可以用这个。

使用条件:

1、你要有一个Google账号

2、加入Google Cloud Platform,创建 Project。创建 API key,启用Custom Search Api。具体操作步骤看文档指引。

3、创建结算账号 https://console.cloud.google.com/billing。需要真实姓名电话等信息以及支持外币的信用卡。

目前Google有新注册赠送一年免费服务+300美金的政策。注册完即可领取,不过可能由于国内注册用户太多吧,Google

在注册页面上已经不支持选择中国了。具体解决办法请大家自行Google搜索,或参考下文解决办法。

4、然后你就可以愉快的使用API了,不用担心被封。

使用方式:

参见:https://developers.google.com/custom-search/v1/using_rest

api地址:https://.googleapis.com/customsearch/v1

必须参数:

cx:Google自定义搜索引擎id,参见https://cse.google.com/cse/all

q:搜索词

key:API key

存在问题:

1、搜索结果数比Google网页搜索第一页结果少,和第二页结果基本一致。

2、贵,不过如果搜索量不是很大的话,可以利用免费次数也还好。

 

PS:

1、GCP结算账号注册方法参考:

具体过程不赘述,只说关键点。

1、注册国家选择美国

2、居住地址可以搜索美国地址生成器,随便写一个

3、姓名、电话 要写真实的

4、信用卡要写真实的,账单地址也是真实的

然后就没有了,我注册的时候没别的问题,不过看很多网友说,有时候会遇到需要再次验证的情况。还需要提交身份证明和信用卡账单截图。

 

2、免费的1000次API key获取方式:还是不说了,自己找吧

 

 

参考:

https://zhuanlan.zhihu.com/p/24307174

 

 
 
 
 
原文地址:https://www.cnblogs.com/dyfblog/p/11818198.html