从网址中检索信息

时间:2011-10-19 13:55:10

标签: java wrapper data-mining information-retrieval

我想制作一个能够检索网址信息的程序。 例如,我给出了下面的网址 librarything

如何检索“TAGS”标签下方的所有字词,例如

  

Black Library fantasy Thanquol& Boneripper Thanquol和Bone Ripper Warhammer?

我正在考虑使用java,并设计一个数据挖掘包装器,但我不知道如何启动。谁能给我一些建议?

编辑: 你给了我很好的帮助,但我想问别的。 对于每个标签,当我们按下“数字”按钮时,我们可以看到每个标签的使用次数。我怎样才能找回那个号码?

2 个答案:

答案 0 :(得分:4)

您可以使用像Jsoup这样的HTML解析器。它允许您使用简单的CSS selectors

选择感兴趣的HTML元素

E.g。

Document document = Jsoup.connect("http://www.librarything.com/work/9767358/78536487").get();
Elements tags = document.select(".tags .tag a");

for (Element tag : tags) {
    System.out.println(tag.text());
}

打印

Black Library
fantasy
Thanquol & Boneripper
Thanquol and Bone Ripper
Warhammer

请注意,您应阅读网站的robots.txt - 如果有 - 并阅读网站的服务条款 - 如果您或您的服务器迟早会被IP禁止。

答案 1 :(得分:0)

我在使用PHP进行页面抓取之前完成了这个操作,然后使用正则表达式将HTML解析为字符串。

Example here

我想在java和其他语言中有类似的东西。这个概念是类似的:

  1. 加载页面数据。
  2. 解析数据(即使用正则表达式,或通过DOM模型并使用一些CSS选择器或一些XPath选择器。
  3. 用数据做你想做的事:)
  4. 值得记住的是,有些人可能不会感谢您对其网站进行数据挖掘并大规模获利/重新分发。