bs 解析 table

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

最后效果如下:


test.png

一时间也想不出有好的办法了。。。先这样吧。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容