代码之家  ›  专栏  ›  技术社区  ›  Simon

解释搜索结果

  •  0
  • Simon  · 技术社区  · 16 年前

    我的任务是编写一个程序,给定一个搜索词和代表某个未知搜索引擎(它可以是任何东西,博客,商店,谷歌,易趣,…)搜索结果的网页的HTML源,需要构建一个包含“结果中的内容”的结果数据结构:搜索结果的标题,“细节”链接,结果中的位置等。不知道结果页是否包含任何数据,以及是否有任何搜索结果。目标是将数据结构输入到另一个提取意义的程序中。

    谢谢,西蒙

    1 回复  |  直到 16 年前
        1
  •  0
  •   Tomato Daniel Maceira    16 年前

    我怀疑是否存在一种银弹算法,它不经过任何训练,只会处理任意的搜索查询输出。

    然而,这项任务是可以解决的,而且在许多应用中都得到了解决,但方法不同。首先,您必须根据实际使用的内容定义单个搜索结果项的一般结构(可以是名称、日期、链接、描述片段等),然后编写一些html解析器,从特定网站的搜索结果输出中提取必要的字段。

    我知道这不是超级性感的解决方案,但它可能是唯一有效的。这不是火箭科学。编写解析器其实非常简单,你每天可以做十几个。如果您查看搜索结果的html源代码,您会注意到输出结果通常是非常结构化的,并用特定的 部门 截面或 所以很容易在文件中找到它。你甚至不需要使用任何复杂的HTML解析库,像grep这样的东西就足够了。

    <div class="post-text"> 结束于 </div> <div class=“post text”>

    一旦你大规模地使用你的检索应用程序,你会发现在不同的网站上没有那么多不同的搜索引擎,你将能够使用类似的搜索引擎重新使用已经为sties创建的解析器。

    希望这有帮助。