2011-03-02 73 views
5

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

谢谢!

+0

更新了网站位置。 bestoftheweb.org无效。该页面位于botw.org上。 – 2011-03-02 16:33:26

回答

0

您将不得不抓取网站,解析每个页面的锚点,并测试它们是否与您正在寻找的内容匹配......假设他们没有使用javascript创建链接,但很少有人会这样做。

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

+1

标准的XML解析器很可能不适用于HTML,因为它通常是非常糟糕的形式。 – Joel 2011-03-02 17:16:17

1

您需要一个履带式的。这实在是太微不足道自己构建一个(小型爬行!)

  • 撞上了前方页(见下文**)
  • 解析网页,提取的链接。为此,您需要一个可以处理格式不正确的HTML的HTML解析器。试试Jericho,TagSoup,CyberNeckoHtmlTidy。普通的XML解析器可能不会为大多数HTML页面提供芥末,因为它们通常不是很好的XML。
  • 检查您正在寻找的链接。如果找不到它,请添加您之前没有看到的站点本地链接,然后返回到步骤1,重复。

对于一个小网站(几千页),你可以在内存中做所有这些。

**请使用通常的java URLConnection或公用程序HTTPClient(v4)来提出请求。

注意:找到您的链接 - 链接可以存在于绝对,本地或解析为一些基础href的网站。你需要在寻找你的时候解释这一点。最简单的方法是将所有链接转换为绝对格式,小心解决当前页面的基础href,如果有的话。

简单。

相关问题