2012-11-10 34 views
0

此處查找2個屬性是HTML的一部分:在BeautifulSoup

<td class="team-name"> 
<div class="goat_australia"></div> 
<a href="http://www.waaaaa.com.au/g-smith/australia/melbourne">Melbourne</a><br /> 
          Today 
         </td> 
<td class="team-name"> 
<div class="goat_australia"></div> 
<a href="http://www.waaaaa.com.au/g-smith/australia/sydney">Sydney</a><br /> 
          Tomorrow 
         </td> 

所以我想返回所有這些TD標籤與類名「隊名」,且僅當它包含文本「今天」在裏面。

我迄今爲止代碼:

from BeautifulSoup import BeautifulSoup 
import urllib2, re 

starting_url = urllib2.urlopen('http://www.mysite.com.au/').read() 
soup = BeautifulSoup(''.join(starting_url))                     

soup2 = soup.findAll("td", {'class':'team-name'}) 

for entry in soup2: 
    if "Today" in soup2: 
     print entry 

如果我運行這個沒什麼返回。

如果我拿出去年的if語句,只是把

print soup2 

我找回所有的TD標籤,但一些有「今天」和一些有「明天」等

因此,任何指針?有沒有辦法將2個屬性添加到soup.findAll函數中?

我也試着在findAll上運行一個findAll,但沒有工作。

回答

3

使用你目前得到了代碼的結構,嘗試用嵌入式的findAll尋找「今天」:

for entry in soup2: 
    if entry.findAll(text=re.compile("Today")): 
     print entry 
+0

完美!謝謝! – bk201

+0

你應該接受他的回答,以便他得到應有的幫助。 –

+0

謝謝你提醒他Mr_Spock。 – BenTrofatter