2016-10-31 4 views
1

Ich versuche gerade, einige Informationen aus einigen Tabellen in einer Webseite abzurufen. Dazu benutze ich die find_all Methode von Beautifulsoup. Die Sache ist, dass ich etwas Text vor jeder Tabelle erhalten muss, die unter dem h2 Tag ist. Deshalb verwende ich soup.find_all(['table','h2']), aber ich weiß nicht, wie man das Tag vom Ergebnis zurückholt (um festzustellen, ob es ein Titel oder eine Tabelle ist). Ich will etwas entlang dieser Linien:Nach Tag suchen nach find_all in BeautifulSoup

for tr in soup.find_all(['table','h2']): 
      if tr.tag='table': 
       print("table info") 
      elif tr.tag='h2': 
       print("header info") 
+0

Lassen Sie mich raten - eine Wiki-Seite .. – alecxe

+0

Eine Website jemand gemacht an meinem Arbeitsplatz –

Antwort

1

Verwenden Sie stattdessen .find_previous_sibling() method zum vorherigen h2 Element jedes table Element kommt man hin:

for table in soup.find_all('table'): 
    header = table.find_previous_sibling("h2").get_text() 
    print(header) 
Verwandte Themen