2016-03-28 9 views
2

Bu html tablosu için gönderen ve alıcı adreslerini ayrı ayrı nasıl çıkaracağımı bana doğru şekilde yönlendiren var mı? İç içe geçmiş etiketler için nasıl arama yapılacağına dair belgelerle çok fazla şansım yok .. başka bir deyişle soupy.select('td[style="color: \#99999"] ve content = SENDER .. gibi bir şey olmalıyım, sonra bir sonraki <a> etiketine bakın ve içeriği buradan çıkarın. ' Bu lol'i nasıl telaffuz edeceğimi bile bilmiyorum.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> 

cevap

3

bulun metin tarafından tdve almak next sibling:

print(soup.select_one("a[onclick*=sender]").get_text(strip=True)) 
: Eğer onclick kontrol ederek gönderici linke doğrudan gidebilirsiniz

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

Not "gönderen" içermesini