当前位置: 代码迷 >> python >> BeautifulSoup帮助,如何从html文件中不正确的标签文本中提取内容?
  详细解决方案

BeautifulSoup帮助,如何从html文件中不正确的标签文本中提取内容?

热度:8   发布时间:2023-07-14 08:43:50.0
<tr>
<td nowrap> good1 </td>
<td class = "td_left" nowrap=""> 1 </td>
</tr>

<tr0>
<td nowrap> good2 </td>
<td class = "td_left" nowrap="">  </td>
</tr0>

如何使用python解析呢? 请帮忙。 我想得到结果列表['good1',1,'good2',None]

查找所有tr标签并从中获取所有td

from bs4 import BeautifulSoup


page = """<tr>
<td nowrap> good1 </td>
<td nowrap class = "td_left"> 1 </td>
</tr>

<tr>
<td nowrap> good2 </td>
<td nowrap class = "td_left"> 2 </td>
</tr>"""

soup = BeautifulSoup(page)
rows = soup.body.find_all('tr')
print [td.text.strip() for row in rows for td in row.find_all('td')]

印刷品:

[u'good1', u'1', u'good2', u'2']

注意, 有助于摆脱前导和尾随空格。

希望能有所帮助。

  相关解决方案