2016-03-28 4 views
2

Kann mir jemand in die richtige Richtung zeigen, wie man die Absender- und Empfängeradressen für diese HTML-Tabelle einzeln extrahiert? Ich habe nicht viel Glück graben durch Dokumentation, wie nach verschachtelten Tags suchen .. mit anderen Worten muss ich wie sein: soupy.select('td[style="color: \#99999"] und wenn content = SENDER .. dann schauen Sie auf die nächste <a> Tag und extrahieren Sie den Inhalt daraus. " Ich weiß nicht einmal, wie ich das ausdrücken soll.Python Beautifulsoup4:

 <td style="color: #999999;">SENDER:</td> 
     <td colspan="3"> 
      <a class="uSearch" style="color: #000000" href="#" onclick="parent.eSearch('sender_match', 'match_is', 'sndr', '[email protected]')">[email protected]</a> 
     </td> 

     <td style="color: #999999;">RECIPIENT:</td> 
     <td> 
      <a class="uSearch" style="color: #000000" href="#" onclick "parent.eSearch('recipient_match', 'match_is', 'rcpt', '[email protected]')">[email protected]</a> 
     </td> 

Antwort

3

Finde die tdvon Text und erhalten die next sibling:

sender = soup.find("td", text="SENDER:") 
print(sender.find_next_sibling("td").get_text(strip=True)) 

Beachten Sie, dass Sie direkt an den Absender Link gehen kann durch die onclick Überprüfung "Sender" enthalten:

print(soup.select_one("a[onclick*=sender]").get_text(strip=True)) 
Verwandte Themen