0

这是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,但没有成功。

4

1 回答 1

3

使用您当前获得的代码结构,尝试使用嵌入式 findAll 查找“Today”:

for entry in soup2:
    if entry.findAll(text=re.compile("Today")):
        print entry
于 2012-11-10T02:32:34.373 回答