google关键词排名获取的另一种方式:Custom Search API
自从谷歌退出中国大陆以后,获取google关键词排名就变的没那么简单了,由于大陆没有相关服务器,所以只能通过谷歌香港服务器来获取相关关键词的排名信息。对于国外的产品来说,SEOMoz提供了google的Rank Tracker,而其只能试用30天,不是免费开放的,所以对于谷歌的关键词排名获取来说,也是一个不小的挑战。
一般来说,如果是编程来实现对谷歌关键词排名的获取,该如何做?无非就是根据相关关键词来拼google搜索的网址,采用某种语言实现的爬虫技术,对页面中的排名信息进行定位和抽取,对于java语言实现来说,我推荐html parser,其优势还是挺明显的,速度快,实现简单。
但是,这种抓取页面进行二次搜索进行的排名获取,有其技术的一些瓶颈,比如说,大批量的关键词排名抓取,会经常带来一些技术错误,例如java socket的报错:
(java.net.SocketException) caught when processing request: Software caused connection abort: recv failed
对于这个报错,迟迟没有得到较好的解决,为此,我很是郁闷,思来想去,总觉得作为一个开发者,总不能吊死在同一棵树上吧,问题是,有什么其它更好的方法吗?
经过一定的探索,终于发现,还是有解决办法的。其实,谷歌已经提供了一个叫做Custom Search API的api,可以方便的让你通过其提供的一系列api的调用,方便的获取到某个关键词的排名信息,以及谷歌收录等其它信息。如何开展这个工作?
1,首先,进入到网址https://code.google.com/apis/console,通过你已有的gmail账号,可以进行项目的创建。
2,开通你的custom search api账号,在服务列表中,选择该项目:
对于免费的版本,其只能提供每天100次的搜索请求。
3,创建好你的Custom Search Api的key。你要使用这项搜索服务,就必须申请到一个key,如下图所示:
4,学习Custom Search Api文档。进入网址https://developers.google.com/custom-search/?hl=zh-CN,对此api进行系统学习,以便你灵活使用和掌握这项服务。
今天大概就写到这里,后续我会举出实战操作的代码,敬请期待。
分享按钮
一般来说,如果是编程来实现对谷歌关键词排名的获取,该如何做?无非就是根据相关关键词来拼google搜索的网址,采用某种语言实现的爬虫技术,对页面中的排名信息进行定位和抽取,对于java语言实现来说,我推荐html parser,其优势还是挺明显的,速度快,实现简单。
但是,这种抓取页面进行二次搜索进行的排名获取,有其技术的一些瓶颈,比如说,大批量的关键词排名抓取,会经常带来一些技术错误,例如java socket的报错:
(java.net.SocketException) caught when processing request: Software caused connection abort: recv failed
对于这个报错,迟迟没有得到较好的解决,为此,我很是郁闷,思来想去,总觉得作为一个开发者,总不能吊死在同一棵树上吧,问题是,有什么其它更好的方法吗?
经过一定的探索,终于发现,还是有解决办法的。其实,谷歌已经提供了一个叫做Custom Search API的api,可以方便的让你通过其提供的一系列api的调用,方便的获取到某个关键词的排名信息,以及谷歌收录等其它信息。如何开展这个工作?
1,首先,进入到网址https://code.google.com/apis/console,通过你已有的gmail账号,可以进行项目的创建。
2,开通你的custom search api账号,在服务列表中,选择该项目:
对于免费的版本,其只能提供每天100次的搜索请求。
3,创建好你的Custom Search Api的key。你要使用这项搜索服务,就必须申请到一个key,如下图所示:
4,学习Custom Search Api文档。进入网址https://developers.google.com/custom-search/?hl=zh-CN,对此api进行系统学习,以便你灵活使用和掌握这项服务。
今天大概就写到这里,后续我会举出实战操作的代码,敬请期待。