[Python] Un mémorandum de belle soupe4

introduction

Un mémorandum de recherche de balises html par `` beautifulsoup4 ''.

environnement

Recherche de base

#Toutes les balises p
find_all("p")

#Seule la première balise p trouvée
find("p")

#une balise et href commençant par hogehoge
import re
find_all("a", href=re.compile("^hogehoge"))

Rechercher à l'aide du sélecteur CSS

#Spécifier la relation parent-enfant, de manière lâche
select('body div p')

#Relation parent-enfant # 2, stricte
select('body > div > p')

#nom de la classe
select('.myclass')

#nom d'identité
select('#myid')

#ET condition
select('.myclass1.myclass2')

nième balise

#Le troisième du html ci-dessous<li>Rechercher des tags
# <html>
# <body>
#   <ul>
#     <li>Non précisé</li>
#     <li>Non précisé</li>
#     <li>Il est précisé</li>
#     <li>Non précisé</li>
#   </ul>
# </body>
# </html>

select('body > ul > li:nth-of-type(3)')

Que faire lorsque nth-of-type () ne fonctionne pas

La raison pour laquelle cela n'a pas fonctionné était que le code HTML du site source de scraping avait une balise de début mais pas de balise de fermeture. La solution consiste à supprimer la balise de début. (Au fait, la balise de fermeture existait sur les outils de développement de Chrome, je ne l'ai donc pas remarquée avant de regarder la source de la page ...)

url = "http://hogehoge/"
soup = BeautifulSoup(url.text, "lxml")

#Supprimez la balise dd car il n'y a pas de balise de fermeture pour la balise dd
for tag in soup.find_all('dd'):
  tag.unwrap()

Supprimez toutes les balises <dd> ''. Cependant, si vous utilisez .decompose () '', les éléments après <dd> '' disparaîtront également, supprimez donc uniquement la balise avec .unwrap () ''.

Les références

Recommended Posts

[Python] Un mémorandum de belle soupe4
Un mémorandum lors de l'utilisation d'une belle soupe
[Python3] Comprendre les bases de Beautiful Soup
[Python] Gratter une table avec Beautiful Soup
Mémorandum du processus de suppression de chaîne python
Ma belle soupe (Python)
Un mémorandum sur l'appel de Python à partir de Common Lisp
Mémorandum d'extraction par requête python bs4
Remarque sur la compilation du noyau
Un petit mémorandum d'openpyxl
Mémorandum sur la corrélation [Python]
Un mémorandum sur le simulacre de Python
Un mémorandum d'utilisation de eigen3
[Python] Supprimer en spécifiant une balise avec Beautiful Soup
Un enregistrement de patcher un package python
Essayez de gratter avec Python + Beautiful Soup
Un mémorandum où je suis tombé sur mon HEROKU & Python personnel (Flask)
Belle soupe
Mémorandum Python 2
Un bref résumé de la collection Python
Grattage avec Python et belle soupe
Mémorandum de dossiers sous conf.d
Mémorandum Python
mémorandum python
mémorandum python
Mémorandum Python
mémorandum python
Mémorandum du débutant Mouvement "isdigit" Python
Mémorandum Python
Un mémorandum du contenu de l'enquête de clôture
Mémorandum de l'outil de gestion de paquets Python ez_setup
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 4)
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 5)
Un mémorandum concernant l'acquisition de l'examen de base de certification d'ingénieur Python3
Afficher une liste d'alphabets en Python 3
Un mémorandum sur l'utilisation de la fonction d'entrée de Python
Un mémorandum de la vitesse de diagonalisation arbitraire des degrés
Créer un diagramme de relations des modules Python
Mémorandum des débutants en python
Connectez beaucoup de Python ou et et
Mémorandum sur le QueryDict de Django
[python] Obtenir une liste de variables d'instance
[python] [meta] Le type de python est-il un type?
L'histoire du traitement A du blackjack (python)
[Python] Obtenir une liste de dossiers uniquement
Un mémorandum de problème lors du formatage des données
Mémorandum de base Python
Mémorandum de Python Pathlib
Mémorandum de sed
Mémorandum Python (algorithme)
Belle note de soupe
Les bases de Python ①
Bases de python ①
Écrivez un "bot" de scraping web sans tête de base en Python avec Beautiful Soup 4
Copie de python
Mémorandum Python [liens]
Introduction de Python
Un mémo qui a fait un tutoriel pour exécuter python sur heroku
[AtCoder] Résoudre un problème de ABC101 ~ 169 avec Python
Dessiner un graphique d'une fonction quadratique en Python