【问题标题】:How do I check if a URL has a link on botw.org or not? [closed]如何检查一个 URL 是否在 botw.org 上有链接? [关闭]
【发布时间】:2011-03-02 05:10:24
【问题描述】:

我正在开发一个应用程序,在该应用程序中,我必须检查 botw.org 上是否存在给定 URL 的链接。是否有任何免费的 API 可用于检查 botw.org,或任何其他来源来检查?

谢谢!

【问题讨论】:

    标签: java api hyperlink web-scraping web-crawler


    【解决方案1】:

    您需要一个爬虫。自己构建一个非常简单(对于小爬虫!)

    • 点击首页(见下文**)
    • 解析页面,提取链接。为此,您需要一个可以处理格式错误的 HTML 的 HTML 解析器。试试JerichoTagSoupCyberNeckoHtmlTidy。普通的 XML 解析器可能无法满足大多数 HTML 页面的要求,因为它们通常不是格式良好的 XML。
    • 检查您正在寻找的链接。如果找不到它,请添加您以前未见过的站点本地链接并返回第 1 步,重复。

    对于一个小型网站(几千页),您可能可以在内存中完成所有这些操作。

    ** 使用通常的 java URLConnection 或 commons HTTPClient (v4) 来发出请求。

    注意:找到您的链接 - 链接可以以绝对、本地或解析为某些基本 href 的形式存在于网站上。在寻找您的产品时,您需要考虑到这一点。最简单的方法是将所有链接转换为绝对形式,注意解析到当前页面的基本 href(如果有的话)。

    简单。

    【讨论】:

      【解决方案2】:

      您可以使用搜索页面:

      示例: http://search.botw.org/search?q=stackoverflow.com

      您无需爬取整个网站,只需验证那里是否获得了良好的结果。

      【讨论】:

        【解决方案3】:

        您将不得不抓取该站点,解析每个页面的锚点,并测试它们是否与您要查找的内容相匹配...假设他们不使用 javascript 创建链接,那么很少有人这样做。

        一个标准的 XML 解析器可以工作,SAX 可能是最容易学习的。

        【讨论】:

        • 一个标准的 XML 解析器很可能不适用于 HTML,因为它的格式通常很糟糕。
        猜你喜欢
        • 2022-08-18
        • 1970-01-01
        • 1970-01-01
        • 2010-11-26
        • 2015-11-13
        • 2011-03-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多