Maison > Questions et réponses > le corps du texte
例如:
<p>
没
<em><!--red_beg-->aa<!--red_end--></em>
</p>
<p>
没
<em><!--red_beg-->aa<!--red_end--></em>
没
<em><!--red_beg-->aa<!--red_end--></em>
</p>
<p>
没
</p>
就是在p标签里可能会出现同样的em标签,而且数量不定,那我怎么获取p的内容,包括em里的内容。
例如第二个p获取输出是‘没aa没aa’
或者获取到p节点之后,怎么把里面的内容转换为字符串
PHPz2017-04-18 10:21:05
J'ai accidentellement appris comment résoudre ce problème aujourd'hui, j'ai donc spécialement traduit cette question pour y répondre. Questionneur, vous pouvez regarder l'axe de XPath. Par exemple, si vous voulez obtenir le "no aa no aa" de la deuxième balise <p>
, vous voulez en fait obtenir le contenu texte de tous ses nœuds descendants . . Vous pouvez utiliser
pour obtenir, le résultat est une liste comme celle-ci element_dom.xpath("//p[2]//descendant::text()")
, puis vous pouvez la diviser manuellement en une chaîne, telle que ['没', 'aa', '没', 'aa']
. De même, si vous devez effectuer d’autres opérations, vous pouvez également utiliser des méthodes similaires. "".join(list)
大家讲道理2017-04-18 10:21:05
Passez à bs4, les similitudes et les différences entre la chaîne et le texte sont ici.
PHP中文网2017-04-18 10:21:05
La méthode .text_content()
de lxml.html peut obtenir le contenu textuel du nœud actuel et de tous les nœuds enfants.