我有这个html表:
<table>
<tr>
<td class="datax">a</td>
<td class="datax">b</td>
<td class="datax">c</td>
<td class="datax">d</td>
</tr>
<tr>
<td class="datax">e</td>
<td class="datax">f</td>
<td class="datax">g</td>
<td class="datax">h</td>
</tr>
</table>如何获得每个<tr>的第二个和第四个值?如果我这样做了:
bs.findAll('td', {'class':'datax'})我得到:
<td class="datax">a</td>
<td class="datax">b</td>
<td class="datax">c</td>
<td class="datax">d</td>
<td class="datax">e</td>
<td class="datax">f</td>
<td class="datax">g</td>
<td class="datax">h</td>这是正确的!但我希望有这样的结果:
<td class="datax">b</td>
<td class="datax">d</td>
<td class="datax">f</td>
<td class="datax">h</td>所以,我想要的值是-> b -d-f- h
(每个<td>的第二个和第四个<tr>)
用BeautifulSoup模块可以吗?
非常感谢!
发布于 2010-05-10 14:07:55
这样就行了~
final_values=[td.string for td in bs.findAll('td', {'class':'datax'})[1::2]](在作出澄清后)就你的具体情况而言:
final_values=[td.b.a.string for td in bs.findAll('td', {'class':'datax'})[1::2]]发布于 2010-05-10 14:04:16
我知道使用HTQL很简单:
--
HTQL只有COM支持思想。以下是javascript中的完整示例:
新ActiveXObject("HtqlCom.HtqlControl");
高纯a.setUrl("C:\test_table.html");
高纯a.setQuery(".2,4");
(a.moveFirst();!a.isEOF();a.moveNext()){
(2)(1)document.write(1);
}
https://stackoverflow.com/questions/2803140
复制相似问题