我想用一个或多个 Python 库标记出感兴趣的维基百科页面。我对表格和列表最感兴趣。我希望能够将此数据导入 Postgres 或 Neo4j。
例如,以下是我感兴趣的三个数据集:
- 在 2008 年欧洲歌唱大赛中,每个国家彼此获得多少分: http://en.wikipedia.org/wiki/Eurovision_Song_Contest_2008#Final
- 货币及其流通国家列表(多对多关系): http://en.wikipedia.org/wiki/List_of_circulating_currencies
- 世界各地太阳能发电厂列表:http://en.wikipedia.org/wiki/List_of_solar_thermal_power_stations
其中每一个的来源都是用维基百科的标记编写的,用于渲染它们。原始数据形式中使用了许多维基百科特定的标签和语法。 HTML 可能几乎是更简单的解决方案,因为我可以使用 BeautifulSoup。
有人知道更好的标记化方法吗?我觉得如果我采用最终的 HTML 并用 BeautifulSoup 解析它,我会重新发明轮子。另外,如果我能找到一种方法以 XML 形式输出这些页面,则表数据可能无法充分标记,并且需要进一步处理。
最佳答案
由于 Wikipedia 是建立在 MediWiki 之上的,因此有一个 api你可以利用。还有Special:Export您可以使用。
获得原始数据后,您可以通过 mwlib 运行它来解析它。
关于可以标记维基百科页面的 Python 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10737071/