Python 如何解析特定的wiki页面&;自动化?

Python 如何解析特定的wiki页面&;自动化?,python,parsing,screen-scraping,Python,Parsing,Screen Scraping,我正在尝试制作一个web应用程序,它需要解析一个特定的wikipedia页面&提取一些以表格格式存储在页面上的信息。然后需要将提取的数据存储到数据库中 我以前真的没有做过这样的事。我应该使用什么脚本语言来执行此操作?我已经读了一些&看起来Python(使用urllib2和BeautifulSoup)应该可以完成这项工作,但是这是解决这个问题的最好方法吗 我知道我也可以使用wikimediaapi,但是使用python是解决一般解析问题的好主意吗 此外,维基百科页面上的表格数据可能会发生变化,因此

我正在尝试制作一个web应用程序,它需要解析一个特定的wikipedia页面&提取一些以表格格式存储在页面上的信息。然后需要将提取的数据存储到数据库中

我以前真的没有做过这样的事。我应该使用什么脚本语言来执行此操作?我已经读了一些&看起来Python(使用urllib2和BeautifulSoup)应该可以完成这项工作,但是这是解决这个问题的最好方法吗

我知道我也可以使用wikimediaapi,但是使用python是解决一般解析问题的好主意吗

此外,维基百科页面上的表格数据可能会发生变化,因此我需要每天进行分析。如何自动执行此脚本?另外,有没有关于无需svn等外部工具就可以轻松恢复更新的版本控制的想法

我应该使用什么脚本语言来执行此操作

Python会这样做,正如您标记问题一样

看起来Python(使用urllib2和BeautifulSoup)应该可以完成这项工作,但这是解决问题的最佳方法吗

这是可行的。我会亲自使用
lxml.etree
。另一种方法是以原始格式获取页面,然后执行不同的解析任务

我知道我也可以使用wikimediaapi,但是使用python是解决一般解析问题的好主意吗

这似乎是一个陈述和一个无关的辩论问题。主观上,如果我正在处理您所问的问题,我会使用python

此外,维基百科页面上的表格数据可能会发生变化,因此我需要每天进行分析。如何自动执行此脚本

Unix cron作业

另外,有没有关于无需svn等外部工具就可以轻松恢复更新的版本控制的想法

Subversion存储库可以与您编写的脚本在同一台机器上运行。或者,您可以使用分布式版本控制系统,例如
git



奇怪的是,您没有提到您打算如何处理这些数据。

是的,Python是web抓取的最佳选择

维基百科经常更新内容,但很少更新结构。如果表具有唯一性,如ID,则可以更自信地提取数据

下面是一个简单的示例,可以使用以下工具浏览wikipedia:

以下是输出:

{'Commercial?': 'Yes', 'Available language(s)': 'English', 'URL': 'stackoverflow.com', 'Current status': 'Online', 'Created by': 'Joel Spolsky and Jeff Atwood', 'Registration': 'Optional; Uses OpenID', 'Owner': 'Stack Exchange, Inc.', 'Alexa rank': '160[1]', 'Type of site': 'Question & Answer', 'Launched': 'August 2008'}

这确实是几个问题(特别是关于版本控制的部分)。客观地回答这个问题基本上是不可能的,你可能只需要尝试一下。一旦您发现某些事情很难用Python来做,您可以回来要求其他选择。
{'Commercial?': 'Yes', 'Available language(s)': 'English', 'URL': 'stackoverflow.com', 'Current status': 'Online', 'Created by': 'Joel Spolsky and Jeff Atwood', 'Registration': 'Optional; Uses OpenID', 'Owner': 'Stack Exchange, Inc.', 'Alexa rank': '160[1]', 'Type of site': 'Question & Answer', 'Launched': 'August 2008'}