以下是HTML的一部分:
<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>
所以我想返回所有这些带有类名“team-name”的td标签,并且只有当它包含文本“Today”时才会返回。
到目前为止我的代码:
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标签,但有些有“今天”,有些有“明天”等。
那么任何指针?有没有办法在soup.findAll函数中添加2个属性?
我也尝试在findAll上运行findAll,但是没有用。
答案 0 :(得分:3)
使用您目前获得的代码结构,尝试使用嵌入式findAll查找“Today”:
for entry in soup2:
if entry.findAll(text=re.compile("Today")):
print entry