我有以下格式的Html文档。在
<p> 1. Content of the paragraph <i> in italic </i> but not <b> strong </b> <a href="url">ignore</a>.</p>
我想提取段落标签的内容,包括斜体和粗体标签的内容,而不是锚定标签的内容。另外,可能会忽略开头的数字。在
预期产出为: 段落内容为斜体,但不强。在
最好的办法是什么?在
另外,下面的代码片段返回TypeError:'NoneType'类型的参数不可编辑
^{pr2}$谢谢你的建议。在
我认为您只需遍历
p
中的标记并收集所需的字符串。在使用lxml,可以使用XPath:
产量:
^{2}$您的代码失败,因为如果标记只有一个子级并且该子级是}
NavigableString
,则设置了{您可以通过提取
a
标记来实现您想要的:关于
string
的问题是因为string
正如documentation中所解释的,它只适用于:因此,在您的例子中,},并且您不能迭代它。要访问标记内容,必须使用
p.string
是{p.contents
(这是一个包含标记的列表)或p.text
(这是一个删除了所有标记的字符串)。在在你的情况下,你可能在寻找这样的东西:
如果还需要删除前缀“'”,我将使用正则表达式从最终字符串中删除该部分。在
相关问题 更多 >
编程相关推荐