Php 搜索引擎如何找到相关内容?

Php 搜索引擎如何找到相关内容?,php,parsing,screen-scraping,relevance,Php,Parsing,Screen Scraping,Relevance,谷歌在解析网页时如何找到相关内容 比如说,Google使用PHP原生DOM库解析内容。他们会用什么方法让it在网页上找到最相关的内容 我的想法是,它将搜索所有段落,按每个段落的长度排序,然后从可能的搜索字符串和查询参数计算出每个段落的相关性百分比 假设我们有一个URL: http://domain.tld/posts/stackoverflow-dominates-the-world-wide-web.html 现在,从这个URL,我将计算出HTML文件名将具有高度相关性,因此我将看到该字符串

谷歌在解析网页时如何找到相关内容

比如说,Google使用PHP原生DOM库解析内容。他们会用什么方法让it在网页上找到最相关的内容

我的想法是,它将搜索所有段落,按每个段落的长度排序,然后从可能的搜索字符串和查询参数计算出每个段落的相关性百分比

假设我们有一个URL:

http://domain.tld/posts/stackoverflow-dominates-the-world-wide-web.html
现在,从这个URL,我将计算出HTML文件名将具有高度相关性,因此我将看到该字符串与页面中的所有段落相比有多接近

一个很好的例子是Facebook共享,当你共享一个页面时。Facebook很快就会自动生成链接,并带回图像、内容等

我认为某种计算方法是最好的,根据周围的元素和元数据计算出相关性的百分比

是否有关于内容解析最佳实践的书籍/信息,包括如何从站点获取最佳内容、可能讨论的算法或深入的回复


我的一些想法是:

  • 按纯文本长度查找所有段落和顺序
  • 以某种方式找到
    div
    容器的宽度和高度,然后按(W+H)-@Benoit订购
  • 检查元关键字、标题、描述,并检查段落内的相关性
  • 查找所有图像标记并按最大顺序排列,以及远离主段落的节点长度
  • 检查对象数据,如视频,并从最大段落/内容div中计算节点数
  • 从分析的前几页中找出相似之处

我需要这些信息的原因是:

我正在建立一个网站,网站管理员向我们发送链接,然后我们列出他们的页面,但我希望网站管理员提交一个链接,然后我去爬网该页面,查找以下信息

  • 图像(如适用)
  • 最佳文本片段中<255段
  • 将用于搜索引擎的关键字(堆栈溢出样式)
  • 元数据关键字、描述、所有图像、更改日志(用于调节和管理目的)
希望你们能够理解,这不是针对搜索引擎的,但搜索引擎处理内容发现的方式与我需要它的目的是一样的


我不是在问商业秘密,我是在问你的个人方法是什么。

谷歌搜索“网络爬虫、机器人、蜘蛛和智能代理”,也可以单独尝试,以获得个人结果


我认为您正在寻找的是屏幕抓取(使用DOM),它处于打开状态。

大多数搜索引擎在文档的头部查找标题和元描述,然后在正文中查找标题和文本内容。图像alt标记和链接标题也被考虑。上一次我读到雅虎使用了meta关键字标签,但大多数都没有


你可能想从Sourceforge上的搜索引擎项目(TSEP)下载开放源代码文件,看看它们是如何做到的。

我不在谷歌工作,但大约一年前,我读到它们有200多个因素用于对搜索结果进行排名。当然,排名靠前的是相关性,所以你的问题在这个意义上很有意思

什么是相关性?如何计算相关性?有几种算法,我打赌谷歌也有自己的算法,但我知道的是和

关于这个话题,我推荐的一本好书(不一定是搜索引擎)是托比·塞加兰(O'Reilly)写的。书中的一些示例展示了如何通过API或屏幕抓取从第三方网站获取数据,并找到类似的条目,这非常好

无论如何,回到谷歌。其他相关技术当然是全文搜索,你可能想得到一本关于MySQL或Sphinx的好书。@Chaoley建议的是TSEP,这也很有趣

但事实上,我认识一个叫Yandex的俄罗斯搜索引擎的人,他们所做的一切都在保密协议下,所以我想你可以接近,但你不可能变得完美,除非你在谷歌工作;)


干杯。

很棘手,但我要尝试一下:

图像(如果适用)

  • 页面上的第一个图像
  • 名称中包含字母“logo”的图像
  • 渲染距离左上角(或右上角)最近的图像
  • 最常出现在站点其他页面上的图像
  • 小于某些最大尺寸的图像
最佳文本片段中的<255段

  • 标题标签的内容
  • 元内容描述标签的内容
  • 第一个h1标记的内容
  • 第一个p标签的内容
将用于我们的搜索引擎的关键字(堆栈溢出样式)

  • 域名的子字符串
  • url的子字符串
  • 标题标记的子字符串
  • 术语和页面上最常见的单词以及页面顶部之间的接近度
元数据关键字、描述、所有图像、更改日志(用于调节和管理)

  • ak!插嘴!语法错误

我只想抓住正文的第一段。大多数人写故事/问题/任何事情的方式是,他们首先陈述最重要的事情,然后详细阐述。如果你看任何随机文本,你会发现它在大多数情况下都是有意义的

例如,您在原始问题中自己做。如果你把原始问题的前三句话记下来,你就可以很好地总结出你要做的事情

而且,我自己也这么做了:我评论的要点是总结
DOCUMENT A  
Seize the time, Meribor. Live now; make now always the most precious time. Now will never come again
DOCUMENT B  
Worf, it was what it was glorious and wonderful and all that, but it doesn't mean anything
QUERY aka DOCUMENT C
precious wonderful life
Doc precious worf life...
A   0.5      0.0  0.2 
B   0.0      0.9  0.0
C   0.7      0.0  0.9