En python, comment préserver les paragraphes (c'est-à-dire conserver les retours à la ligne) lors de l'utilisation de lxml.html?Python conservant les nouvelles lignes dans lxml.html après cssselect et text_content()
Par exemple, ce qui suit bande <p> </p > balises et rejoindre les lignes, ce qui est pas ce que je veux:
body = doc.cssselect("div.body")[0]
content = body.text_content()
Voici ce que j'ai essayé qui ne fonctionne pas:
- lxml.html.clean.clean_html:
- ne conservera pas les nouvelles lignes.
- content.replace (" "* 3," \ n \ n"):
- ne fonctionne pas toujours, parce que texte combiné n'a pas le même nombre de places.
Merci, voilà ce que je fini par faire: paragraphes = self.doc.cssselect ('div # corps p') paragraph_text = [paragraph.text_content() du paragraphe aux paragraphes] content = « \ n \ n'.join (paragraph_text) – Lionel
'body.xpath (" * // p ")' ne fonctionne pas pour moi, je l'ai changé en 'body.xpath (" ./ p ")'. +1 de toute façon –