[Python] Holen Sie sich Elemente, indem Sie Attribute mit Präfixsuche in BeautifulSoup angeben

Ich war ein wenig süchtig danach, das Element zu bekommen, dessen Attributwert beim Scraping dynamisch ist, also teile es.

HTML-Beispiel

.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>

Angenommen, Sie möchten ein Element erhalten, dessen Anzahl von Elementen unbestimmt ist und dessen Attributwert auf diese Weise dynamisch ist.

Erfassungsmethode

** ・ Lambda-Funktion ver **

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

Sie können das Element durch Präfixsuche mit der Lambda-Funktion erhalten.

** ・ Regulärer Ausdruck ver **

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

Es kann auch mit einem regulären Ausdruck erhalten werden.

** ・ CSS Selector ver **

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

Sie kann auch mit dem CSS-Selektor festgelegt werden.

Referenzlink

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

Recommended Posts

[Python] Holen Sie sich Elemente, indem Sie Attribute mit Präfixsuche in BeautifulSoup angeben
[Python] Rufen Sie das Element ab, indem Sie das Namensattribut in BeautifulSoup angeben
Beginnen Sie mit Python mit Blender
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Abrufen von Eigenschaftsinformationen durch Scraping mit Python
Beginnen wir mit TopCoder in Python (Version 2020)
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Sequentielle Suche mit Python
Dichotomie mit Python
[Python] Holen Sie sich die Zahlen im Diagramm mit OCR
Holen Sie sich die Standardausgabe in Echtzeit mit dem Python-Unterprozess
Beleben Sie die Symbolsuche im Python-Arbeitsbereich mit VS-Code
Mit Python psycopg2 erhalten Sie Ergebnisse im Diktatformat
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Lineare Suche in Python
Dichotomie mit Python
Dichotomie mit Python 3
Holen Sie sich Datum in Python
Öffnen Sie die Seite im geheimen Modus, indem Sie die Browsersprache mit Selenium Python Bindings (Chrome) angeben.
Holen Sie sich ein Date mit Python
JPEG-Bilderzeugung durch Angabe der Qualität mit Python + OpenCV
Gruppieren Sie nach aufeinanderfolgenden Elementen einer Liste in Python
[Python] Löschen Sie, indem Sie ein Tag mit Beautiful Soup angeben
Nehmen Sie Kontakt mit der funktionalen Programmierung in JavaScript oder Python 3 auf
Ich habe eine Klasse erstellt, um das Analyseergebnis von MeCab in ndarray mit Python zu erhalten
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Rufen Sie den Wert ab, während Sie den Standardwert aus dict in Python angeben
Nachricht vom ersten Offset mit Kafka Consumer in Python abrufen
Holen Sie sich YouTube-Kommentare in Python
Holen Sie sich den Ländercode mit Python
Schaben mit Selen in Python
Holen Sie sich letzten Monat in Python
Betreiben Sie LibreOffice mit Python
Holen Sie sich Twitter-Timeline mit Python
Debuggen mit pdb in Python
Holen Sie sich Youtube-Daten mit Python
Umgang mit Sounds in Python
Führen Sie die Präfixsuche mit DynamoDB durch
Binäre Suche in Python / C ++
Scraping mit Tor in Python
Tweet mit Bild in Python
Vollbit-Suche mit Python
Holen Sie sich die Terminalgröße in Python
Holen Sie sich explizit EOF in Python
Kombiniert mit Ordnungszahl in Python
Holen Sie sich die Thread-ID mit Python
Beginnen Sie mit Python! ~ ② Grammatik ~
Suchmaschinen arbeiten mit Python
Suche nach Twitter-Tweets mit Python
Holen Sie sich Lager mit Python
Holen Sie sich Evernote-Notizen in Python
Abrufen von Listenelementen in Python
Holen Sie sich das Home-Verzeichnis mit Python
Holen Sie sich Tastaturereignis mit Python
Optimieren Sie die Websuche mit Python
Holen Sie sich Alembic-Informationen mit Python
Sortieren nach Datum in Python
Holen Sie sich japanische Synonyme mit Python
Rufen Sie die URL des Linkziels ab, indem Sie den Textsatz mit Python Scraping (Beautiful Soup) + XPath angeben
Wie ist der Fortschritt? Lassen Sie uns mit dem Boom in Python weitermachen