使用Python中的BeautifulSoup解析一个网页(不幸的是,该网页主要由表格编写)。
以下是我正在尝试处理的部分内容。
<tr>
<td colspan="4">
<div class="shortmenucats">
<span style="color: ">
-- Fresh Baked Pastries --
</span>
</div>
</td>
</tr>
<tr>
<td width="80%" valign="top">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td>
<div class="shortmenurecipes">
<span style="color: #000000"> Chocolate Doughnut Holes </span>
</div>
</td>
</tr>
</tbody>
</table>
</td>
<td width="5%" valign="top"></td>
<td width="10%" valign="top" align="right" colspan="1">
<div class="shortmenuprices">
<span style="color: #000000"></span>
</div>
</td>
<td width="5%" valign="top" colspan="1">
</td>
</tr>
那是一个包含10行的表格中的两行,它们交替出现(在td中有div、table、div、table等)。
我正在使用BeautifulSoup调用父表格上的find_all,由于嵌套表格中的嵌套标签,它返回了每个其他行的重复。
我开始通过对table进行
table.find_all('td', recursive=False)
操作,但它根本没有返回任何s。
如果我在父表上调用findChildren()
,我会得到一个结果列表,但它包含所有子元素。我做错了什么吗?我不知道如何解决这个问题。
如果您想要我解析的实际网站,请点击此处: http://138.23.12.141/foodpro/shortmenu.asp?sName=University+of+California%2C+Riverside+Dining+Services&locationNum=02&locationName=Lothian+Residential+Restaurant&naFlag=1
它的编码相当混乱。我只是试图进行解析。
任何帮助都将不胜感激。即使只是去除重复项的方法。
谢谢。
span
标签中的文本吗?还是其他什么? - Alex Martelli