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
google批量搜索实现方式的更多相关文章
- 如何使用GOOGLE高级搜索技巧
如何使用GOOGLE高级搜索技巧 一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发 ...
- Google高级搜索技巧十则
前言:多数人在使用Google搜索的过程是非常低效和无谓的,如果你只是输入几个关键词,然后按搜索按钮,你将是那些无法得到Google全部信息的用户,在这篇文章中,Google搜索专家迈克尔.米勒将向您 ...
- GOOGLE高级搜索的秘籍
一.摘要 本文内容来源自互联网,全面的介绍Google搜索的各种功能和技巧. 二.GOOGLE简介 Google(http://www.google.com/)是一个搜索引擎,由两个斯坦福大学博士生L ...
- GOOGLE高级搜索技巧
前记: 我是完整的看完了.内容有点乱啊,自己没有时间整理,先放在自己的印象笔记里了.... 二,GOOGLE特色 GOOGLE支持多达132种语言,包括简体中文和繁体中文: GOOGLE网站只提 ...
- 使用 Google 高级搜索的一些技巧
一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于 ...
- google垂直搜索结果
佰年金融 所谓“垂直”很干净地分离出来,而不是在谷歌算作有机列表的结果,但该行已开始模糊.例如,现在许多视频结果似乎是直接整合为有机(万SERP的例子).我治疗的新的“有深度的文章”作为一个垂直的结果 ...
- Google高级搜索语法
Google高级搜索语法 Google搜索果真是一个强悍的不得了的搜索引擎,今天转了一些 google的高级搜索语法 希望能帮助到大家. 一.allinanchor: anchor是一处说明性的文 ...
- 如何正大光明的使用 google 进行搜索
对于程序猿来说,不能使用google,是一大痛所在,今天在使用 百度网盘 搜索时,突然发现 ,他能同时使用 baidu和 google进行搜索,于是想到了这个正大光明的使用google 的方法,不需要 ...
- Oracle 逐条和批量插入数据方式对比
创建测试表 create table base_users ( userid varchar2(16), username varchar2(32), passwd var ...
随机推荐
- C语言中宏的相关知识
2019/04/27 16:02 1.宏的定义:宏定义就是预处理命令的一种,它允许用一个标识符来表示一个字符串.格式如下: #define name(宏名) stuff(字符串) 本质就是使用宏名去替 ...
- bfc与浮动元素的关系
首先说明两个特性: 1,浮动元素兄弟元素的布局规则 当html中存在浮动元素时,其兄弟元素的布局遵循如下规则: (1)块级元素的渲染无视浮动元素 (2)文本内容或者是行内元素的渲染会考虑到浮动元素的存 ...
- 计算GPS点之间的距离
latitude纬度 longtitude经度 // 求弧度 double getRadian(double d) { return d * PI / 180.0; //角度1? = π / 180 ...
- c语言之连接符
c语言之连接符 1.连接符 连接符的概念是结合define预编译指令的使用技巧,用户可以向define中传入字符串来调用不同功能的函数. 2.代码例子 #include <stdio.h> ...
- Solr7.x学习(3)-创建core并使用分词器
1.创建core文件夹 ck /usr/local/solr-7.7.2/server/solr mkdir first_core cp -r configsets/_default/* first_ ...
- Maven 教程(13)— Maven插件解析运行机制
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79551210 这里给大家详细说一下Maven的运行机制,让大家不仅知其然,更知其 ...
- Java学习:面向对象三大特征:封装、继承、多态之封装性
面向对象三大特征:封装.继承.多态. 封装性在Java当中的体现: 方法就是一种封装 关键字private也是一种封装 封装就是将一些细节信息隐藏起来,对于外界不可见. 问题描述:定义Person的年 ...
- .NET Core解析DNS域名或主机名的方法
在.NET Core中我们可以用System.Net.Dns类来解析域名或主机名的IP地址,我们新建一个.NET Core控制台项目,写入下面代码: using System; using Syste ...
- [個人紀錄] windows form , usercontrol design 模式不見
windows form 跟 usercontrol 都變成cs檔 無法點擊進入設計模式 <Compile Include="Form1.cs"/> <Compi ...
- System.ArgumentException:路由集合中已存在名为“XXX”的路由。路由名称必须唯一。
软件环境:Visual Studio 2017 + MVC4 + EF6 问题描述:System.ArgumentException:路由集合中已存在名为“XXX”的路由.路由名称必须唯一. 解决办法 ...