本文主要记录一下最近所做的关于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

 
 
 
 

最新文章

  1. 【OPENGL】第三篇 着色器基础(二)
  2. jQuery控件有所感悟
  3. LDAP与migrationtools 导入系统账号
  4. wamp集成环境开启虚拟主机多站点功能
  5. TFS的使用
  6. Android 在子线程中更新UI
  7. MySQL源码 解析器
  8. 使用JavaScriptSerializer序列化集合、字典、数组、DataTable为JSON字符串 分类: 前端 数据格式 JSON 2014-10-30 14:08 169人阅读 评论(0) 收藏
  9. C# Interface显式实现和隐式实现
  10. R 语言学习笔记
  11. Python强大的自省简析
  12. Vue单页式应用(Hash模式下)实现微信分享
  13. 配置redis开机自启动和监听
  14. birt4.6部署到tomcat及启动服务报错解决方法
  15. Python 的第一个小程序
  16. 如何解决PuTTY中文乱码的问题
  17. php源码学习——开篇
  18. 1.微信小程序里如何设置当地时间?
  19. hashContext
  20. mysql export query result

热门文章

  1. 获取DOM元素的方式有哪些
  2. Softmax与Sigmoid函数的联系
  3. Python之文件读写(csv文件,CSV库,Pandas库)
  4. Java 抽象类 抽象方法 接口
  5. 抓住九月的尾巴分享一个插件XLSX
  6. Java 并发系列之二:java 并发机制的底层实现原理
  7. FreeSql 访问 Oracle 解决大小写问题
  8. Windows安装gmpy2
  9. C# PKCS7加密解密
  10. 【操作系统之十】内存分页管理与swap