2

Prolog の sgml ライブラリを使用して、Web ページに関する情報を抽出します。この命令を使用してすべてを抽出します。

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

この警告をなくすにはどうすればよいですか?

4

1 に答える 1

2

私はこの構文を使用します

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)で行う必要があります。

エラーのある古いページを解析するのに苦労したことを思い出します。エラー処理は複雑になる可能性があり、より寛容なタグスープのようなツールは、作業を適切に行うのに役立ちます...

于 2013-10-04T10:01:06.000 に答える