处理格式错误的HTML(没有结束标记)

2024-09-30 05:24:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用BeautifulSoup通过lxml解析器解析HTML。但是我遇到了一个文件,它在<table>内没有任何结束标记:

<table id='reportTable' class='report-table' style='width:auto' cellspacing='0'><tr>
<th>Номер<br>поезда<th>Дата<br>отправления<th>Маршрут<th>Причина<th>Комментарий<th>Станция ...

尽管<table>标记已正确关闭。在


Tags: 文件标记brreportid解析器stylehtml
1条回答
网友
1楼 · 发布于 2024-09-30 05:24:36

我个人也遇到过这个问题,我用tidylib在htmltidy5中运行整个文档。说我同意C.feenstralxml解析器可以容忍格式错误的html。如果您得到了无法使用lxml解析器解析的html,请尝试以下操作:

from tidylib import tidy_document

badHtml = "<table id='reportTable' class='report-table' style='width:auto' cellspacing='0'><tr><th>Номер<br>поезда<th>Дата<br>отправления<th>Маршрут<th>Причина<th>Комментарий<th>Станция ..."
options = {"output-bom": 0, "quiet": False, "word-2000": True,
           "output-encoding": 'utf8', "output-xhtml": 1, "add-xml-decl": 0,
           "tidy-mark": 0, "drop-proprietary-attributes": True,
           "show-warnings": False, }
tidiedHtml, errors = tidy_document(badHtml, options)

然后用“tidiedHtml”来表示美化组

相关问题 更多 >

    热门问题