查找网站的最远页面

数据挖掘 数据挖掘
2022-02-17 15:04:10

我想找到一个大网站最远的两个页面(+500 万页)。

(就是分离的程度,两个页面之间的链接最多)

2个回答

这是一个经典的“图数据库”问题。我会执行以下步骤:-

  • 使用网络爬虫遍历所有页面,或者如果您可以直接询问可能是qukcker的网站服务器。
  • 确保保留页面之间的所有链接,以备后用。
  • 将网页放入Neo4j数据库中,并在页面之间建立连接

这将使您能够查询具有最大步骤数的页面,或最常链接到的页面等。

假设您有一个表中的数据,其中每个链接包含一行,存储 PAGE 和链接页面 (LINK_TO)。

select * from page_link;

PAGE LINK_TO
---- -------
A    A       
A    B       
A    B       
A    C       
B    C       
B    C       
B    C       
C    A  

比两列上的简单分组并计算出现次数。这给出了任何两个链接页面之间的链接数量,因此您可以看到两个页面之间的链接最多- 如果这确实是您想要的...

select PAGE, LINK_TO, count(*) 
from page_link 
group by PAGE, LINK_TO order by 3 desc;

PAGE LINK_TO   COUNT(*)
---- ------- ----------
B    C                3 
A    B                2 
A    C                1 
A    A                1 
C    A                1 

几百万条记录对于您选择的任何数据库都不是问题。