从WIkipedia页面中提取公式 - Python

时间:2016-06-05 06:11:37

标签: python web-scraping wikipedia-api

我正在提取维基百科页面并使用python将它们写入文件中。目前我这样做: 代码段:

keyWords = ["kinetic energy", "gravitational force"]

for word in keyWords:
    topic = wikipedia.page(word)
    text = topic.content
    print text

但是显示公式时内容格式错误。 例如:

F = ma becomes something like :

F

   m

a

你能帮我弄清楚如何干净利落地掌握数学公式。谢谢!

1 个答案:

答案 0 :(得分:1)

维基百科模块抓住的维基百科页面中没有LaTeX。为了从维基百科页面中提取所有方程式,您可以利用BeautifulSoup包。

import wikipedia
from bs4 import BeautifulSoup

topic = wikipedia.page('kinetic energy')
equations = BeautifulSoup(topic.html()).find_all('annotation')

然后,您可以通过

提取任何给定方程的来源
equations[0].text
#'{\\displaystyle {\\vec {F}}=m{\\vec {a}}}'

equations[0].text.split('{\\displaystyle ')[1][:-1]
#'{\\vec {F}}=m{\\vec {a}}'

虽然这仍然不是一个完全有用的格式。你还应该注意到,有很多"一个字母"由引用变量引起的方程式,因此这可能不是最好的技术。你想要完成什么?