Sgml返回一些警告

时间:2013-10-04 09:39:59

标签: prolog

我使用prolog的sgml库来提取有关网页的信息。我使用此指令来提取所有内容:

load_structure('file.html', List, [dialect(sgml), shorttag(false), max_errors(-1)])

系统加载页面但我有一些警告,例如:

WARNING:SGML2PL(sgml): inserted omitted end-tag for "img"
WARNING:SGML2PL(sgml): inserted omitted end-tag for "br"
WARNING:SGML2PL(sgml): entity "amp" does not exist

如何消除此警告?

1 个答案:

答案 0 :(得分:1)

我使用这种语法

get_html_file(FileOrStream, P) :-
        dtd(html, DTD),
        load_structure(FileOrStream, [P],
                       [ dtd(DTD),
                         dialect(sgml),
                         shorttag(false),
                         syntax_errors(quiet),
                         max_errors(-1)
                       ]).

选项syntax_errors(quiet)应该这样做。

我记得我很难解析有错误的旧页面。 错误处理可能很复杂,像tags soup这样的工具更宽容,可以帮助完成工作......