PageRank算法及Python实现

目录

PageRank概念

PageRank的核心思想

PageRank算法的python实现

如何提高自身网站的PageRank


PageRank概念

       佩奇排名(PageRank),又称网页排名谷歌左侧排名PR,是Google公司所使用的对其搜索引擎搜索结果中的网页进行排名的一种算法。

       佩奇排名本质上是一种以网页之间的超链接个数和质量作为主要因素粗略地分析网页的重要性的算法。其基本假设是:更重要的页面往往更多地被其他页面引用(或称其他页面中会更多地加入通向该页面的超链接)。 其将从A页面到B页面的链接解释为“A页面给B页面投票”,并根据投票来源(甚至来源的来源,即链接到A页面的页面)和投票对象的等级来决定被投票页面的等级。简单的说,一个高等级的页面可以提升其他低等级的页面。

        PageRank(PR)是Google对网页重要性的评估手段,PageRank值(PR值))的高低是衡量网页在Google搜索引擎中排名的重要参数之一。 PageRank针对的是网页的排名(是Page Rank),而不是网站的排名("Site Rank"),即PageRank不是针对整个网站的评估。

PageRank的核心思想

  • 如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是PageRank值会相对较高
  • 如果一个PageRank值很高的网页链接到一个其他的网页,那么被链接到的网页的PageRank值会相应地因此而提高

PageRank算法的python实现

依赖工具包:

matplotlib3.2.2

networkx2.4

PageRank原理介绍参考一下链接

https://wiki.zhonghuashu.com/wiki/PageRank

http://www.t086.com/good/pagerank_cn.htm

https://www.cnblogs.com/rubinorth/p/5799848.html

http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf

python代码实现

import networkx as nx
import matplotlib.pyplot as plt
import random
import operator

Graph = nx.DiGraph()
Graph.add_nodes_from(range(0, 100))
for i in range(400):
    j = random.randint(0, 100)
    k = random.randint(0, 100)
    Graph.add_edge(k, j)
nx.draw(Graph, with_labels=True, color="red")
plt.savefig("./graph.jpg")
plt.show()

pr = nx.pagerank(Graph, max_iter=100, alpha=0.01)  # 得到的是字典

print("最大PR值对应的节点:", max(pr.items(), key=operator.itemgetter(1))[0])
print("100个节点的PR值为:", pr)

结果展示

如何提高自身网站的PageRank

        PageRank值的提高可有效提升你的网页在Google搜索引擎中的页面排名,但并不是说PageRank越高则排名越靠前。有一些网站尽管 PageRank不算高,但却较一些PageRank高的网站排名还要靠前。所以你应该在对网站优化的同时,也要努力提高网站的PR值。
提高PR最佳和最简单的办法在于:
   1. 提供有趣、有价值的网站内容,这样站长们会主动和你进行友情链接,从而提高你的外部链接值。
   2. 将网站提交到各大搜索引擎,这样可显著改善你的网站在Google上的排名。
   3. 可将网站添加到行业门户站点、网上论坛、留言簿等等各种允许添加网址链接的地方。
   4. 与其他网站交换链接来提高链接权值。
   5. 与其他网站交换链接时首先要查看对方站点是否被Google删除,或是否被Google收录,没有被Google收录的站点最好不要做连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值