【问题标题】:Technique to find pages from a link从链接中查找页面的技术
【发布时间】:2011-06-19 14:09:20
【问题描述】:

我计划编写一个出色的 SEO 工具,我想知道如何从静态/动态网站链接中找到页面。

我只有像 www.yahoo.com 这样的域,我的系统应该会找到该主机中存在的所有页面。

有什么技术可以做到这一点吗?我可以使用任何语言,但我认为 .NET 会真正提升性能。

【问题讨论】:

    标签: php .net algorithm seo


    【解决方案1】:

    我认为您几乎可以肯定必须解析页面代码以引用 HREF=

    您可以使用 System.WebRequest.Create(uri) 请求 URL,然后在响应流上使用正则表达式。

    如果.Net 中有更简单的方法,我当然会感兴趣。

    【讨论】:

    • 我知道这种方式,但这不会留下一些在任何页面上都没有链接的页面吗?
    【解决方案2】:

    您不能只是“神奇地”找到域中存在的所有页面,除非有站点地图(大部分时间不存在)。

    这是你可以做的 1.蛮力 - 这是一个坏主意,因为它只需要很长时间。 2. Regex over source code - 在标签中查找正则表达式

    2 是您最好的选择,因为它将提供该页面上的所有链接。我会考虑添加一个递归功能,以便您“爬出”并在种子中找到的所有页面上执行相同的正则表达式操作。

    这是算法

    1. 从种子开始(即:www.yahoo.com)

    2. 对本页源码执行正则表达式,将所有链接存放在一个 数据结构

    3. 在 #2 中找到的每个链接上递归调用 #1。你可能想要 将此限制为仅存在的链接 在种子域上(即:以或开头 包含 www.yahoo.com),以及不包括指向您已经访问过的页面的链接

    具有访问者设计模式的树数据结构将是此类实现的理想选择。

    【讨论】:

      猜你喜欢
      • 2011-04-08
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 2012-08-08
      • 2010-09-09
      相关资源
      最近更新 更多