`
wangcheng
  • 浏览: 1466681 次
  • 性别: Icon_minigender_1
  • 来自: 青岛人在北京
社区版块
存档分类
最新评论

Java查询获取Google PageRank

    博客分类:
  • java
阅读更多

Java代码如下

 

import java.net.URL;
import java.net.URLConnection;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;
import cee.open.pagerank.JenkinsHash;

/**
 * PageRankService provides simple API to Google PageRank Technology
 */
public class GooglePageRank {
	

	/**
	 * List of available google datacenter IPs and addresses
	 */
	static final public String GOOGLE_PR_DATACENTER_IP = "toolbarqueries.google.com";

	/**
	 * Must receive a domain in form of: "http://www.domain.com"
	 * 
	 * @param domain 
	 * @return PR rating (int) or -1 if unavailable or internal error happened.
	 */
	public int getPageRank(String domain) {
		
		JenkinsHash jHash = new JenkinsHash();
		long hash = jHash.hash(("info:" + domain).getBytes());

		String url = "http://" + GOOGLE_PR_DATACENTER_IP
				+ "/search?client=navclient-auto&hl=en&" + "ch=6" + hash
				+ "&ie=UTF-8&oe=UTF-8&features=Rank&q=info:" + domain;

		try {
			URLConnection conn = new URL(url).openConnection();
			String pageRankResponse = IOUtils.toString(conn.getInputStream());
			
			if (StringUtils.isNotBlank(pageRankResponse)) {
				return NumberUtils.toInt(pageRankResponse.split(":")[2].trim());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return -1;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		GooglePageRank prService = new GooglePageRank();
		System.out.println("PageRank: " + prService.getPageRank("http://www.iteye.com"));
	}

}
 

JenkinsHash 算法放到附件里大家可以下载

参考 http://www.temesoft.com/google-pagerank-api.jsp

分享到:
评论
1 楼 passzh 2012-01-20  
目前已经不能用了,返回403,怎么解决呢?

相关推荐

    Java_PageRank.rar_pageRank_pagerank java

    在这个"Java_PageRank.rar_pageRank_pagerank java"压缩包中,包含了几个关键的Java源代码文件,用于实现PageRank算法以及查询网站的收录情况。 1. **SimpleWebClient.java**:这是一个简单的网络客户端类,用于...

    Java版PageRank及网站收录情况查询源码

    Java版PageRank查询源码是实现这一算法的程序,可以帮助程序员理解PageRank的工作原理,并自定义查询功能。 首先,让我们详细了解一下`SimpleWebClient.java`。这是一个基础的网络客户端类,它负责发送HTTP请求并...

    在heritrix中使用pagerank算法

    PageRank是Google创始人 Larry Page提出的一种衡量网页重要性的算法,它通过分析网页之间的链接关系来评估网页的重要性。Heritrix是一个开源、可配置的Web爬虫,它允许用户自定义爬取策略,包括应用PageRank算法。 ...

    java 谷歌搜索架构

    Java谷歌搜索架构是一种基于Java技术实现的网络爬虫系统,旨在模拟谷歌搜索引擎的工作流程,用于抓取、处理和索引互联网上的网页数据。这个系统通常包括以下几个关键组件: 1. **爬虫(Web Crawler)**:作为整个...

    Hadoop-MapReduce下的PageRank矩阵分块算法

    PageRank算法作为Web结构挖掘领域的经典算法,在Google搜索引擎中的成功应用已经充分证明了其在评估网页重要性方面的价值。然而,传统的PageRank算法在处理大规模数据集时,面临着迭代次数多、时间与空间消耗大的...

    java编写的搜索引擎

    另外,PageRank算法(最初由Google使用)则用于评估网页的重要性,通过分析网页之间的链接结构来确定权重。 接着,**网络爬虫**是搜索引擎获取信息的关键组件。Java可以使用Jsoup或Apache HttpClient等库来抓取和...

    Google.zip_google

    标题 "Google.zip_google" 暗示我们关注的是与 Google 相关的 IT 知识,特别是关于 Java 实现的 Google 搜索功能。这个描述提到 "java 实现的 GOOGLE 搜索很好用",这意味着我们将探讨如何使用 Java 语言来创建一个...

    java搜索引擎研究与实现

    因此,许多Java搜索引擎采用分布式架构,如Hadoop或Google的MapReduce模型,将任务分散到多台机器上并行处理,提高处理效率。 7. **实时搜索**:现代搜索引擎还需要支持实时更新和实时搜索,这需要高效的增量索引和...

    广优站长查询系统 v2.0.rar

    【标题】"广优站长查询系统 v2.0.rar" 是一个基于Asp技术开发的网站查询工具,用于帮助网站管理员或SEO优化人员获取关键信息。这个系统集成了多种实用的功能,包括关键词查询、反向链接检查、PageRank(PR)评估、...

    搜索引擎 谷歌 百度 实例

    搜索引擎是互联网上获取信息的重要工具,它通过复杂的算法和机制帮助用户快速找到所需内容。本文主要探讨搜索引擎,特别是谷歌和百度这两个全球领先的搜索平台,并通过实例解析它们的工作原理和技术细节。 首先,...

    某搜索引擎框架源码(java源码)

    3. **PageRank**:谷歌提出的PageRank算法,根据网页间的链接关系来评估网页的重要性,影响搜索结果排序。 4. **BM25**:一种改进的TF-IDF算法,考虑了文档长度和查询词出现的位置等因素。 四、搜索源码的组成部分 ...

    java爬虫链接分析工具

    2. 链接权重:链接分析的一个重要概念是PageRank,谷歌最初使用的算法之一,衡量一个页面的重要性基于其他页面对它的链接数量和质量。 3. 邻接矩阵:用二维数组表示网页间的链接关系,便于进行链接分析计算。 4. ...

    人工智能-项目实践-搜索引擎-基于java开发的分布式搜索引擎

    综上所述,本项目"人工智能-项目实践-搜索引擎-基于java开发的分布式搜索引擎"涵盖了从数据获取、处理、存储到检索的全过程,结合了Java编程和分布式计算技术,旨在构建一个高效、智能的搜索引擎系统。同时,项目也...

    搜索引擎的研究与实现(Java)(含源码)

    PageRank算法是Google早期的创新,基于网页之间的链接关系来评估重要性。后来,BM25算法成为主流,它综合考虑了关键词在文档中的出现频率和位置。Java实现中,可以利用Lucene的评分机制来实现这些算法。 最后,搜索...

    2021-2022收藏资料基于JAVA技术的搜索引擎的研究与实现.doc

    第三代如Google,通过创新的PageRank算法和大规模硬件集群,实现了对数亿网页的快速索引和查询。 在Java中实现搜索引擎,可以利用丰富的开源库和框架,如上述的Jsoup、Lucene、Jetty等,它们为开发者提供了强大的...

    PHP实例开发源码-35分类目录PR查询工具 php版.zip

    该压缩包文件“PHP实例开发源码-35分类目录PR查询工具 php版.zip”包含了一个基于PHP编写的实用工具,用于查询网站在Google PageRank(PR)中的排名。PageRank是Google搜索引擎早期的一种网页重要性算法,它通过分析...

    类似google搜索功能实现

    1. **爬虫**:Google的网络爬虫(如Googlebot)会定期抓取互联网上的网页,获取新的和更新的内容。爬虫通过遵循HTML页面中的链接进行遍历,构建起一个庞大的网页数据库。为了实现类似的功能,你需要编写一个网络爬虫...

    Nutch 是一个开源Java 实现的搜索引擎(学习资料)----下载不扣分,回帖加1分,童叟无欺,欢迎下载 。不下也来看看啊!!

    5. **链接分析和PageRank**:学习如何评估网页的重要性,PageRank是Google的标志性算法,也是Nutch中的一个重要部分。 6. **倒排索引**:理解这种高效的数据结构,它是搜索引擎实现快速搜索的关键。 7. **Web服务...

    课程报告1

    PageRank算法是Google搜索引擎的核心技术之一,用于衡量网页的重要性。在本课程设计中,我们构建了一个PageRank算法的演示画板,旨在帮助用户直观理解该算法的工作原理,并结合文献数据库,实现对相关文献的检索和...

Global site tag (gtag.js) - Google Analytics