2017-01-26 4 views
1

Angenommen, ich habe einen Code im folgenden Format in HTML:Scrape Wert basierend auf einem Geschwister Inhalte mit BeautifulSoup

... 
<div class="class1"> 
    <div class="subclass1">Text1</div> 
    <div class="subclass2">Text2</div> 
</div> 
<div class="class1"> 
    <div class="subclass1">Text3</div> 
    <div class="subclass2">Text4</div> 
</div> 
<div class="class1"> 
    <div class="subclass1">Text5</div> 
    <div class="subclass2">Text6</div> 
</div> 
... 

Wie kann ich Text2 extrahieren basierend auf dem Text1?

Ich habe mehrere Ideen, aber alle enthalten komplexe Struktur mit einer Schleife und Konvertierung zwischen einer Liste und BS-Serie. Irgendwelche Ideen?

+1

Was meinen Sie mit "extrahieren Text2 auf der Grundlage der Text1"? – Shane

Antwort

2
text2 = soup.find('div', text='Text1').find_next('div').text 
      # |-----find div tag-------|-get next div tag-|     

aus:

'Text2' 

oder:

soup.find('div', text='Text1').next_sibling.next_element.text 

dies nicht

empfohlen
+1

Du bist einfach unglaublich :) und danke :) – mrGreenBrown

Verwandte Themen