Python findAll函数组

Python findAll函数组,python,beautifulsoup,Python,Beautifulsoup,我一直在尝试解析存储在标记之间的文本元素,例如: <tr> <td>Trading Hours</td> <td><b>Monday</b> <br /> London - 23:00 Sunday - 23:00 Monday<br /> New York - 18:00 Sunday - 18:00 Monday<br /> Chicago - 17:00 Sunday - 17:00

我一直在尝试解析存储在
标记之间的文本元素,例如:

<tr>
<td>Trading Hours</td>
<td><b>Monday</b> <br />
London - 23:00 Sunday - 23:00 Monday<br />
New York - 18:00 Sunday - 18:00 Monday<br />
Chicago - 17:00 Sunday - 17:00 Monday<br />
<br />
<b>Tuesday-Friday</b> <br />
London - 01:00 - 23:00<br />
New York - 20:00 - 18:00<br />
Chicago - 19:00 - 17:00<br />
</td>
</tr>

问题:我的
for
循环识别第一个
标记,但识别不到第二个。如何改进此功能?

text=True
告诉BeautifulSoup查找包含文本的元素。如果要获取文本,需要使用
。get_text()


text=True
告诉BeautifulSoup查找包含文本的元素。如果要获取文本,需要使用
。get_text()


可能的副本。如果我错了,请澄清。可能的副本。澄清我是否错了。即使在收到文本之前,当我在tr.findAll('td'):print td中为td打印时,它也只会打印第一个
标记,而不是第二个。我在想为什么会这样。@MaxKim:你从哪里得到这个HTML?可能是格式不正确。@MaxKim,你使用的是什么版本的BeautifulSoup?我使用了与您发布的相同的html,它找到了td的两个元素。你发布的html在我看来格式很好。我使用的是Beautifulsoup 3,我在
中遇到一个错误。get_text()
'navigablesting'对象在获取文本之前没有属性“get_text”
,当我这样做时:
对于tr.findAll('td'):print td
,它只会打印第一个
标记,而不是第二个。我在想为什么会这样。@MaxKim:你从哪里得到这个HTML?可能是格式不正确。@MaxKim,你使用的是什么版本的BeautifulSoup?我使用了与您发布的相同的html,它找到了td的两个元素。您发布的html在我看来格式很好。我使用的是Beautifulsoup 3,我在
中遇到一个错误。get_text()
“Navigablesting”对象没有属性“get_text”
for td in tr.findAll('td'):
    row.append((td.find('td', text = True)).strip().strip('\n'))
td.find('td', text=True).get_text(strip=True)