[Python] Obtenez des éléments en spécifiant des attributs avec une recherche de préfixe dans BeautifulSoup

J'étais un peu accro à obtenir l'élément dont la valeur d'attribut est dynamique lors du scraping, alors partagez-le.

Exemple HTML

.html


<div class="hogehoge">
    <input type="hidden" id="sample_1" value="fugafuga">
    <input type="hidden" id="sample_2" value="fugafuga">
    <input type="hidden" id="sample_3" value="fugafuga">
    <input type="hidden" id="sample_4" value="fugafuga">
    <input type="hidden" id="sample_5" value="fugafuga">
・
・
・
</div>

Supposons que vous souhaitiez obtenir un élément dont le nombre d'éléments est indéfini et dont la valeur d'attribut est dynamique de cette manière.

Méthode d'acquisition

** ・ fonction lambda ver **

source = soup.find_all('input', id=lambda value: value and value.startswith('sample_'))

Vous pouvez obtenir l'élément par recherche de préfixe à l'aide de la fonction lambda.

** ・ Expression régulière ver **

source = soup.find_all('input', id=re.compile('^sample_'))

Il peut également être obtenu avec une expression régulière.

** ・ Sélecteur CSS ver **

source = soup.select('input[id^=sample_]')

Il peut également être spécifié avec le sélecteur CSS.

Lien de référence

How to find all divs who's class starts with a string in BeautifulSoup?

Recommended Posts

[Python] Obtenez des éléments en spécifiant des attributs avec une recherche de préfixe dans BeautifulSoup
[Python] Récupère l'élément en spécifiant l'attribut name dans BeautifulSoup
Démarrez avec Python avec Blender
Obtenez des données supplémentaires vers LDAP avec python
Obtenez des informations sur la propriété en grattant avec python
Commençons avec TopCoder en Python (version 2020)
[Python] Récupérez les fichiers dans le dossier avec Python
Recherche séquentielle avec Python
Dichotomie avec Python
[Python] Obtenez les nombres dans l'image graphique avec OCR
Obtenez une sortie standard en temps réel avec le sous-processus Python
Relancer la recherche de symboles dans l'espace de travail Python avec VS Code
Obtenez des résultats au format dict avec Python psycopg2
Obtenir la taille (nombre d'éléments) de Union Find en Python
Recherche linéaire en Python
Dichotomie avec python
Dichotomie avec Python 3
Obtenir la date en Python
Ouvrez la page en mode secret en spécifiant la langue du navigateur avec les liaisons Selenium Python (Chrome)
Obtenez date avec python
Génération d'images JPEG en spécifiant la qualité avec Python + OpenCV
Regrouper par éléments consécutifs d'une liste en Python
[Python] Supprimer en spécifiant une balise avec Beautiful Soup
Entrez en contact avec la programmation fonctionnelle en JavaScript ou Python 3
J'ai créé une classe pour obtenir le résultat de l'analyse par MeCab dans ndarray avec python
Obtenez le nombre d'éléments spécifiques dans la liste python
Obtenez la valeur tout en spécifiant la valeur par défaut de dict en Python
Obtenir le message du premier offset avec le consommateur kafka en python
Obtenez des commentaires YouTube en Python
Obtenez le code du pays avec python
Grattage au sélénium en Python
Obtenez le mois dernier en Python
Exploitez LibreOffice avec Python
Obtenez la chronologie Twitter avec Python
Débogage avec pdb en Python
Obtenez des données Youtube avec python
Gérer les sons en Python
Effectuer une recherche de préfixe avec DynamoDB
Recherche binaire en Python / C ++
Grattage avec Tor en Python
Tweet avec image en Python
Recherche de bits complète avec Python
Obtenir la taille du terminal en Python
Obtenir explicitement EOF en python
Combiné avec ordinal en Python
Obtenir l'ID de thread avec python
Commencez avec Python! ~ ② Grammaire ~
Les moteurs de recherche fonctionnent avec python
Rechercher des tweets Twitter avec Python
Obtenez des stocks avec Python
Obtenez des notes Evernote en Python
Obtenir des éléments de liste en Python
Obtenir le répertoire personnel avec python
Obtenir un événement de clavier avec python
Rationalisez la recherche Web avec Python
Obtenez des informations sur l'alambic avec Python
Trier par date en python
Obtenez des synonymes japonais avec Python
Obtenez l'URL de destination du lien en spécifiant la phrase de texte avec le grattage Python (Beautiful Soup) + XPath
Comment est le progrès? Continuons le boom ?? en Python