Python : sauter des lignes lors de l'analyse du code html et se débarrasser des espaces blancs


FaCafé

J'ai le htmlcode suivant :

html_doc = """
<h2> API guidance for developers</h2>
<h2>Images</h2>
<h2>Score descriptors</h2>
<h2>Downloadable XML data files (updated daily)</h2>
<h2>
                                    East Counties</h2>
<h2>
                                    East Midlands</h2>
<h2>
                                    London</h2>
<h2>
                                    North East</h2>
<h2>
                                    North West</h2>
<h2>
                                    South East</h2>
<h2>
                                    South West</h2>
<h2>
                                    West Midlands</h2>
<h2>
                                    Yorkshire and Humberside</h2>
<h2>
                                    Northern Ireland</h2>
<h2>
                                    Scotland</h2>
<h2>
                                    Wales</h2>
"""

Comment puis-je sauter les quatre premières lignes et accéder aux chaînes de texte telles que East Countieset ainsi de suite ?

Ma tentative ne saute pas les quatre premières lignes et renvoie les chaînes, y compris les nombreux espaces blancs intégrés dans le code (dont je veux me débarrasser):

from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')
for h2 in soup.find_all('h2'):
    next
    next
    next
    next
    print (str(h2.children.next()))

Le résultat souhaité :

East Counties
East Midlands
London
North East
...

Qu'est-ce que je fais mal?

akash karothiya

Vous pouvez utiliser slicingici, car find_allrenvoie un type de liste afin que vous puissiez jouer avec son index, comme [4:]et pour ignorer les espaces blancsstrip()

for h2 in soup.find_all('h2')[4:]:
    print(h2.text.strip())

East Counties
East Midlands
London
North East
North West
...    

Articles connexes


Se débarrasser des espaces blancs et des caractères

Mat Je crée un générateur de mots de passe qui combine des nombres et des chaînes d'une liste. Cependant, lorsque j'essaie de les ajouter en une seule variable, cela ajoute des crochets, des apostrophes et des espaces blancs. J'ai essayé d'imprimer les deux va

Comment se débarrasser des espaces blancs

John Greene J'essaie de finaliser l'analyseur de configuration de style ISC (Bind9 / DHCP) dans pyparsing ici (après avoir recherché le GitHub, Google et al. Pendant si longtemps). Le fichier de configuration de style ISC possède les attributs de texte origina

Sauter des lignes lors du débogage de Python avec PyCharm

Traditions Dans un certain point de débogage de PyCharm, il me serait utile de sauter quelques lignes, par exemple des lignes qui ralentissent terriblement mon code ... mais je n'ai rien trouvé à ce sujet. Existe-t-il une option dans le débogueur PyCharm (ou l

Comment se débarrasser des espaces autour de l'emballage

Mike L. J'ai essayé de créer une version mobile de mon curseur de 320 pixels, mais lorsque je l'ouvre dans les outils de développement et que je règle la largeur sur 320, je vois des espaces vides sur les côtés ainsi que sous le wrapper. Qu'est-ce que je fais