xpath - python怎么用lxml处理
伊谢尔伦
伊谢尔伦 2017-04-18 10:19:05
0
3
1110

例如:

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

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous(3)
PHPzhong

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)

大家讲道理

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

洪涛

La méthode .text_content() de lxml.html peut obtenir le contenu textuel du nœud actuel et de tous les nœuds enfants.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!