从网页中删除HTML并计算单词频率?

时间:2008-10-16 04:02:37

标签: java html groovy html-content-extraction text-extraction

在Groovy中,如何抓取网页并删除HTML标签等,只留下文档的文本?我希望将结果转储到一个集合中,这样我就可以构建一个单词频率计数器。

最后,让我再次提到我想在Groovy中这样做。

3 个答案:

答案 0 :(得分:2)

假设您希望使用Groovy(基于groovy标记进行猜测),您的方法很可能是面向shell脚本或使用Java库。在shell脚本的情况下我会同意moogs,使用Lynx或Elinks可能是最简单的方法。否则,请查看HTMLParser并查看Processing Every Word in a File(向下滚动以查找相关代码段)

你可能不习惯找到用于HTML解析的Groovy的Java库,因为它似乎没有任何Groovy库。如果你没有使用Groovy,那么请发布所需的语言,因为那里有很多HTML to text tools,具体取决于你正在使用的语言。

答案 1 :(得分:1)

如果你想从HTML中获取一组标记化的单词,那么你不能像XML一样解析它(需要是有效的XML)并获取标签之间的所有文本吗?这样的事情怎么样:

def records = new XmlSlurper().parseText(YOURHTMLSTRING)
def allNodes = records.depthFirst().collect{ it }
def list = []
allNodes.each {
    it.text().tokenize().each {
        list << it
    }
}

答案 2 :(得分:0)

您可以使用Lynx Web Browser吐出文档文本并保存。

您想自动执行此操作吗?你想要一个单独的应用程序吗?或者您是否希望将帮助编码到您的应用程序中?将运行哪些平台(Windows桌面,Web服务器等)?