如何使用BeautifulSoup解析此html表

时间:2014-11-30 14:33:30

标签: html python-2.7 beautifulsoup

我想在html表下解析并从中获取内容。

html看起来像这样..

<body id="up">
        <table style="width:100%">
            <tbody><tr>
            <td align="left">
                <a href="http://example.com/index.php"><font color="#990033">Back</font></a>
            </td>
            <td align="right">
                <a href="http://example.com/feedback.php"><font color="#990033">Feedback</font></a>
            </td>
            </tr>
        </tbody></table>
        <br><br>
        <center>
        <table width="100%" bgcolor="#CCCC99">
            <tbody><tr>
                <td align="center">
                    <font color="#666633">
                        This is what I want <br>
                        19:09, 30 Nov 14 <br>
                        Journey Over<br>Reached SBC at 19:00 <br>
                        <br>
                    </font>
                </td>
            </tr>
        </tbody></table>
    </center>
    <img src="./ga.php">


</body>

我想提取内容并将其放在变量中。

&#34; 这就是我想要的                         11月19日19:09                         旅程结束于19:00到达SBC                         
&#34; 如果我可以获得每行的价值,那将是件好事。

我尝试了不同的获取值的方法,但有时它会打印null,或者我得到一些错误。 我怎样才能获得这些字符串?

谢谢, HVR

1 个答案:

答案 0 :(得分:0)

您可以将soup.select用于td代码:

In [26]: import bs4 as bs
In [27]: soup = bs.BeautifulSoup(open('data', 'rb').read())

In [28]: [list(td.stripped_strings) for td in soup.select('table tbody tr td')][-1]
Out[28]: 
[u'This is what I want',
 u'19:09, 30 Nov 14',
 u'Journey Over',
 u'Reached SBC at 19:00']