BeautifSoup 解析 html 中的 table 标签
最近写一个爬虫,爬下来需要解析其中的 tables
标签,将其中的 td
标签中的内容全部提取出来,并且展示出类似表格的形式,一时想不出来,在网上找到了这样一段代码,发现很实用,所以采用一下。
例如:
test.html
<table border="1", id="subject">
<tr>
<td>英语</td>
<td>数学</td>
</tr>
<tr>
<td>77</td>
<td>82</td>
</tr>
</table>
<table border="2", id="other">
<tr>
<td>化学</td>
<td>物理</td>
</tr>
<tr>
<td>20</td>
<td>13</td>
</tr>
</table>
要找出各个学科对应的分数,就可以这样写:
# -*- coding: utf-8 -*-
form bs4 import BeautifulSoup as bs
test = bs(open("test.html"), "lxml")
tables = test.find_all("table", id="subject")
for table in tables:
for tr in table.find_all("tr"):
for td in tr.find_all("td"):
print td.get_text().strip(), " ",
print
最后效果如下:
一时间也想不出有好的办法了。。。先这样吧。。。