我试图循环遍历表格行并打印某些td。我可以单独打印每个文件,但我不确定如何同时打印同一行上的两个td。我想知道的是我在何处放置for循环和打印标签以使其工作。Python:Beautifulsoup - 解析表格
<div id="main">
<table>
<tbody>
<tr>
<td><span class="bold">answer</span> </td>
<td></td>
<td>
<option value="1|0|%" selected="selected">%</option>
<option value="100|0|fraction">fraction</option>
<option value="100|0|ratio">ratio</option>
</td>
</tr>
</tbody>
</table>
</div>
我试图做到这一点是
def summary(url, i):
html = wget(url)
soup = BeautifulSoup(html)
for row in soup.findAll('div', {'id': 'main'}):
for ops in row.findAll('tr'):
for tds1 in ops.findAll('td'):
for opt in tds1.findAll('option', {'selected': 'selected'}):
return opt
for ops in row.findAll('tr'):
for tds1 in ops.findAll('td'):
for spans in tds1.findAll('span', {'class': 'bold'}):
return spans
print (i, opt, spans)
您正在分析的HTML和预期的输出将有助于更正代码 – shaktimaan 2014-08-29 00:41:03
您确定在代码中有'return opt'吗?这意味着这个代码从不打印任何东西。它也看起来像缩进问题:你确定以'汤'开始的行是缩进? – 2014-08-29 00:41:09
另外,你是什么意思“同时在同一行打印两个”? – 2014-08-29 00:41:38