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