【发布时间】:2016-08-04 20:34:27
【问题描述】:
我有一个非常长的 HTML 文件,我无法对其进行修改,但想解析 CSV 输出。想象一下下面的代码在同一行重复了数百次。我意识到如果有换行符,这会简单得多,但我无法控制文件的创建方式。您还应该知道这段代码中没有友好的换行符;想象一下完全缩小的代码。我刚刚添加了中断,因此更容易可视化。但是,任何对此的实际解决方案都不能依赖换行符或空格,因为它们在现实中并不存在。
<tr id="link">
<td><a href="https://www.somewebsite.com" target="_target">Title</a></td>
<td>Value 1</td><td style="width:20ch">Value 2</td>
<td></td><td></td><td>Value 3</td>
<td>Value 4</td><td>Value 5</td><td>Value 6</td>
<td>Value 7</td><td>Value 8</td><td>Value 9</td></tr>
我想要的输出是https://www.somewebsite.com, Title, Value 1, Value 2, , , Value 3, ...(等等)
基本上,我想用逗号替换标签中的所有值,但保留 URL。我在 Python 中找不到任何方法来解析这样的东西,因为 Python 中的 scan()、find() 等函数似乎不像我在 C 等语言中习惯的那样全局跟踪文件指针。所以,无论我做什么,我总是只看行首。
【问题讨论】:
-
你看过beautifulsoup吗? crummy.com/software/BeautifulSoup
-
你的 html 中的所有表格都是这样吗?
-
不,它不仅仅是 HTML 中的表格。但是,我可以跳到代码中的表格,但我仍然需要解析它。
标签: python csv parsing html-parsing tokenize