我想将HTML转换为纯文本,但保留最小结构。
我们的想法是将随机网页转换为适合自然语言文本处理的内容,而不会遗漏人工制品,从而人为地删除标记,从而破坏单词或使不相关的单块看起来像句子。
任何编程语言的任何二进制文件,库或源都可以。
是否存在标准来源,最好是机器可读的,其中包含完整的元素列表,这些元素定义哪些是块,哪些是内联的,哪些类似于< script>和< style>以上?
答案 0 :(得分:1)
HTML 4块级元素列表位于:http://htmlhelp.com/reference/html40/block.html
Perl最流行的HTML解析库是HTML::Parser,它是一个SAX风格的解析器,而HTML::TreeBuilder更像DOM。
除此之外,您还必须确定哪些元素很重要,哪些元素不是基于您尝试的内容。
答案 1 :(得分:0)
您可能想自己做一些研究。然后,当您遇到问题时,请询问与问题相关的问题。这听起来更像是您希望有人为您做的项目的规范。
首先,网站使用各种标签,问题非常复杂。您可能希望在h#和p标记中保存信息,但如果使用id标记,您也可能希望保存div标记信息。简而言之,您必须为您遇到的每个网站编写规则,或采用某种模糊逻辑。
不是在逐个标签的基础上进行,为什么不尝试检测句子和语法,或者可能在标题中的内容,并选择包含这些内容的标签,同时剥去其余部分?
答案 2 :(得分:0)
这是我自己的工具,使用HTML :: Parser作为github要点在Perl中解决这个问题:html2txt.pl
它尚未完成,可能略微以Windows为中心,但我想我会分享它,因为有些人在这里查看了我的问题。随意玩吧。