从浏览器的地址栏中提取URL

时间:2014-12-10 17:20:29

标签: java url browser java-api

我编写了一个java程序来提取硬编码URL的网页内容。现在,我想在用户访问时从Web浏览器中提取URL,而不是使用硬编码的URL。是否有任何java库或API来执行此操作?

1 个答案:

答案 0 :(得分:0)

HTML文档有几种模式和不同的标记。提取有用的信息(相关内容)并不容易,因为您应该了解页面的编写方式,以便真正了解内容的哪些部分是相关的。

一般建议仅从名为biolerpipe的网页中提取相关内容,其中一个在ACM中发布。它使用一些启发式方法来查找相关的文本片段并将其提取出来。

如果要从文档中提取URL,则需要搜索并提取URL,或者如果URL不在标记中,则需要在页面内容中查找URL模式正确提取链接。从页面(文档)中获取URL没有其他选择。

您无法避免在网址内容中显示的HTML标记和脚本(以浏览器为您显示的形式),因为这些标记是网址内容的一部分。要获取URL的相关内容,可以使用samppipe提取有用信息(使用URL类)。否则,您可以使用URL类。

一旦你的类路径上有样子管,就会提取" main"网页内容非常简单:

URL url = new URL("http://www.example.com/some-location/index.html");
// NOTE: Use ArticleExtractor unless DefaultExtractor gives better results for you
String text = ArticleExtractor.INSTANCE.getText(url);

但Boilerpipe无法提取一些页面,我修复了here。我附上了修复的源代码。此修复程序可避免某些页面中出现以下异常"HTTP response code : 403 for URL"