recherche

Maison  >  Questions et réponses  >  le corps du texte

xpath - python怎么用lxml处理

例如:

<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节点之后,怎么把里面的内容转换为字符串

伊谢尔伦伊谢尔伦2803 Il y a quelques jours1198

répondre à tous(3)je répondrai

  • PHPz

    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)

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:21:05

    Passez à bs4, les similitudes et les différences entre la chaîne et le texte sont ici.

    répondre
    0
  • PHP中文网

    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.

    répondre
    0
  • Annulerrépondre