【发布时间】:2015-01-04 08:16:06
【问题描述】:
我有一个 188 页的 Word 文档,它主要使用字体大小来表示结构。
你可以在这里看到它:https://github.com/watty62/jazz_birthdays/blob/master/jazz_birthdays.doc
使用 Python(我的首选语言)我想提取内容并将其保存为 json 等数据格式。
我在 Libre Office 中打开了文档并将其保存为 HTML,还尝试将其导出为替代 XML 文件。
您可以看到 XML 和 HTML 文件here 两者似乎都能生成结构合理的文档,但从 XML 中提取含义更加困难
<para>1 January </para>
<para>Helmut Brandt, baritone sax, 1931 (July 26, 2001)</para>
在 HTML 版本中,我们以
结尾 <P LANG="en-US" STYLE="margin-top: 0.18cm; margin-bottom: 0.18cm; page-break-after: avoid">
<FONT SIZE=4>1 January </FONT>
</P>
<P LANG="en-US" CLASS="western" STYLE="font-weight: normal">Helmut
Brandt, baritone sax, 1931 (July 26, 2001)</P>
每个日期都包含在<FONT SIZE=4> </FONT> 标签中(尽管这些标签偶尔用于其他目的。
快速统计一下,<FONT SIZE=4> 被使用了 377 次 - 所以现在假设一年中的所有 366 天都在那里,那么我将不得不忽略它的 11 次使用。
我的方法是将第一个 <Font size=4> 替换为表示它是日期字段的开头的东西,例如 <Date>然后每个后续的
日期的结束(在所有音乐家的生日之后)并打开下一个日期</Date><Date>
在那之后,我想我会简化每一行 - 虽然这些会变得复杂,名称(可能包含昵称)、演奏的乐器以逗号分隔、出生年份和死亡日期(在括号中并以“d”开头.") - 以后会遇到更多问题。
使用 Beautiful soup 解析文件的初始尝试在原始文件中引发了一些编码错误。
我不是在寻找解决方案(因为它是一个真正的大问题),但希望能得到有关方法、库等方面的任何提示,以帮助我入门。
谢谢
伊恩
【问题讨论】:
标签: python html json tags beautifulsoup