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

 
 
 
 

google批量搜索实现方式的更多相关文章

  1. 如何使用GOOGLE高级搜索技巧

    如何使用GOOGLE高级搜索技巧 一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发 ...

  2. Google高级搜索技巧十则

    前言:多数人在使用Google搜索的过程是非常低效和无谓的,如果你只是输入几个关键词,然后按搜索按钮,你将是那些无法得到Google全部信息的用户,在这篇文章中,Google搜索专家迈克尔.米勒将向您 ...

  3. GOOGLE高级搜索的秘籍

    一.摘要 本文内容来源自互联网,全面的介绍Google搜索的各种功能和技巧. 二.GOOGLE简介 Google(http://www.google.com/)是一个搜索引擎,由两个斯坦福大学博士生L ...

  4. GOOGLE高级搜索技巧

    前记:  我是完整的看完了.内容有点乱啊,自己没有时间整理,先放在自己的印象笔记里了....   二,GOOGLE特色 GOOGLE支持多达132种语言,包括简体中文和繁体中文: GOOGLE网站只提 ...

  5. 使用 Google 高级搜索的一些技巧

      一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于 ...

  6. google垂直搜索结果

    佰年金融 所谓“垂直”很干净地分离出来,而不是在谷歌算作有机列表的结果,但该行已开始模糊.例如,现在许多视频结果似乎是直接整合为有机(万SERP的例子).我治疗的新的“有深度的文章”作为一个垂直的结果 ...

  7. Google高级搜索语法

    Google高级搜索语法   Google搜索果真是一个强悍的不得了的搜索引擎,今天转了一些 google的高级搜索语法 希望能帮助到大家. 一.allinanchor: anchor是一处说明性的文 ...

  8. 如何正大光明的使用 google 进行搜索

    对于程序猿来说,不能使用google,是一大痛所在,今天在使用 百度网盘 搜索时,突然发现 ,他能同时使用 baidu和 google进行搜索,于是想到了这个正大光明的使用google 的方法,不需要 ...

  9. Oracle 逐条和批量插入数据方式对比

    创建测试表 create table base_users ( userid         varchar2(16), username  varchar2(32), passwd      var ...

随机推荐

  1. 使Jackson和Mybatis支持JSR310标准

    1.首先要确保Jackson和Mybatis正确地整合进项目了 2.添加额外的依赖 <dependency> <groupId>org.mybatis</groupId& ...

  2. UDF——输出每个单元的面法向量以及对应面上的节点

    测试文件及源码下载链接: https://pan.baidu.com/s/1K-mD7-_ZkHUl21C2w3o-Bw 提取码: a7n2

  3. Spring Boot进阶系列二

    上一篇文章,主要分析了怎么建立一个Restful web service,系列二主要创建一个H5静态页面使用ajax请求数据,功能主要有添加一本书,请求所有书并且按照Id降序排列,以及查看,删除一本书 ...

  4. mysql(二)事务 & 事务的实现 & 锁

    参考文档: mvcc:https://www.cnblogs.com/chenpingzhao/p/5065316.html 事务的实现:https://www.linuxidc.com/Linux/ ...

  5. dnsperf

    github 地址:https://github.com/DNS-OARC/dnsperf mac安装:brew install dnsperf 参数详解 Dnsperf 支持下面的这些命令行参数: ...

  6. stop容器,把信号量传给java进程,优雅退出

    Java中可以添加ShutdownHook监听关闭事件,包括kill -15, control+c,terminal等信号.kill -9则接收不到. Runtime.getRuntime().add ...

  7. 全国自考C++程序设计

    一.单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其代码填写在题后的括号内.错选.多选或未选均无 分. 1. 编写C++程序一般需经过的 ...

  8. 快速获取更丰富的Sitecore体验数据库

    无论您是否立即使用Sitecore的营销功能,我们强烈建议您执行这三项任务,以使您的数据收集更加丰富,并为您以后的决策留下良好的位置. Sitecore的体验数据库,即xDB,是Sitecore营销平 ...

  9. Python批量更改文件名

    一.问题在处理文件或者一些其他信息的时候我们需要更改文件名,那么我们可以写一个程序来修改这些文件名,以减少我们重复的做一件事. 二.解决本次使用的Python,利用的是Python中的OS模块,具体操 ...

  10. ML学习笔记之Jupyter Notebook各种使用方法

    0x00 概述 Jupyter Notebook安装的官方网站 安装Jupyter Notebook的先决条件:已经安装了python(python 2.7 或者是python3) 具体的安装方法: ...