使用Python解析包含&&引用;
我正在使用python库SGMLParser来解析一些html。 我遇到了表单的html标记使用Python解析包含&&引用;,python,html-parsing,Python,Html Parsing,我正在使用python库SGMLParser来解析一些html。 我遇到了表单的html标记 <td class="school">Texas A&M</td> 在调用之前使用&来替换字符串,而不替换整个字符串中的所有特殊符号(其中一些我可能需要) 谢谢 如果您从SGMLParser切换到诸如(也处理HTML)之类的现代替代方案,这将变得微不足道: >>> etree.fromstring('''<td class="school
<td class="school">Texas A&M</td>
在调用之前使用&来替换字符串,而不替换整个字符串中的所有特殊符号(其中一些我可能需要)
谢谢 如果您从SGMLParser
切换到诸如(也处理HTML)之类的现代替代方案,这将变得微不足道:
>>> etree.fromstring('''<td class="school">Texas A&M</td>''').text
'Texas A&M'
>etree.fromstring(''Texas A&;M'').text
“德克萨斯A&M”
实体引用,如&代码>由处理。检查此方法是否知道如何翻译&代码>。默认实现应该调用handle_data('&')
,但您可能意外地覆盖了它
此外,如果可能的话,请考虑使用更高级的方法。
< P> SGMLParser有<代码> RealtTyTyTyType(<)>代码>方法,但是我不推荐SGMLParser,我建议使用或拥有更好的分析器API。 SGMLParser被贬低,因为没有人关心SGML(大多数人用它来解析HTML,在一个例子中)。XMLParser具有相同的接口,未被弃用。是的,我也不关心SGML,它看起来只是一种从html读取数据的“简单”方法。我会调查lxml的,谢谢。我不认为我写得太多了。。。但是handle_数据会被调用三次,分别是'Texas A'、'&'和'M'对吗?有没有办法将数据连接起来(如果你知道我的意思的话)?看起来每个人都建议使用lxml,所以我会仔细研究它。@mdeland。你必须自己加入数据;SGMLParser是一个非常低级的接口。
>>> etree.fromstring('''<td class="school">Texas A&M</td>''').text
'Texas A&M'