0

我有一个具有以下数据结构的 HTML 文件:

<tr>
    <td valign="top"><img src="img.jpg"></td>
    <td><a href="file.zip">file.zip</a></td>
    <td align="right">24-Apr-2013 12:42 </td>
    <td align="right">200K</td>
</tr>
...

它基本上是一个简单的表格,当在 Firefox 中查看时,它看起来像这样:

file.zip   22-Apr-2013 12:42   200K

我想提取这三个值(文件名、日期、大小),我可以这样做,split()但我想知道是否可以在 python 中打印“html 解释形式”?

import xyz
print xyz.htmlinterpreted(htmlfile.html)
>>> file.zip   22-Apr-2013 12:42   200K

这样我就可以轻松地将数据拆分为split(" "). 这在python中可能吗?

4

1 回答 1

1

使用 HTML 解析器。BeautifulSoup使这变得轻而易举:

from bs4 import BeautifulSoup

soup = BeautifulSoup(html_source)
print list(soup.stripped_strings)

演示:

>>> from bs4 import BeautifulSoup                                                                                                   >>> soup = BeautifulSoup('''<tr><td valign="top"><img src="img.jpg"></td><td><a href="file.zip">file.zip</a></td><td align="right">24-Apr-2013 12:42 </td><td align="right">200K</td></tr>''')
>>> print list(soup.stripped_strings)
[u'file.zip', u'24-Apr-2013 12:42', u'200K']
于 2013-04-24T18:26:20.447 回答