我是一个 python 新手,我遇到了一些我无法解决的问题(即使在大约一百万个谷歌搜索之后)。
我有 >100 个 html 文件,每个文件中都有几个表。最终,我希望将文件中第一个 HTML 表的每一行作为 python 中的列表,但没有 HTML 标记。第一步,我试图弄清楚如何摆脱 HTML 标签,然后我需要弄清楚如何将其作为列表导入。
我的 HTML 文件如下所示:
<tr><td>1</td><td>FORWARD</td><td>72</td><td>20</td><td>60.29</td><td>55.00</td><td>5.00</td><td>3.00</td></tr>
<tr><td> </td><td>REVERSE</td><td>258</td><td>20</td><td>60.11</td><td>45.00</td><td>4.00</td><td>3.00</td></tr>
<tr><td>2</td><td>FORWARD</td><td>77</td><td>20</td><td>60.08</td><td>50.00</td><td>5.00</td><td>2.00</td></tr>
<tr><td> </td><td>REVERSE</td><td>258</td><td>20</td><td>60.11</td><td>45.00</td><td>4.00</td><td>3.00</td></tr>
我想要的是要放入列表中的行中的值,类似于手动执行此操作会得到的值:
row1 = [FORWARD, 72, 20, 60.29, 55.0, 5.00, 3.00].
我读到 BeautifulSoup 可能会有所帮助,所以我尝试了:
from bs4 import BeautifulSoup
def removeTags(html, *tags):
soup = BeautifulSoup(html)
for tag in tags:
for tag in soup.findAll(tag):
tag.replaceWith("")
return soup
testhtml = open('myfile.html', 'r')
print removeTags(testhtml, 'tr', 'td')
但这似乎删除了表格中的所有信息,而不仅仅是 HTML 标记。我也尝试了其他几件事,但我似乎被卡住了。我将不胜感激任何建议。