如何解析特定的 wiki 页面&自动化吗?
我正在尝试制作一个网络应用程序,需要解析一个特定的维基百科页面和页面。提取一些以表格格式存储在页面上的信息。然后,提取的数据需要存储到数据库中。
我以前还没有真正做过这样的事情。我应该使用什么脚本语言来执行此操作?我读了一点书&看起来 Python(使用 urllib2 和 BeautifulSoup)应该可以完成这项工作,但这是解决问题的最佳方法吗?
我知道我也可以使用 WikiMedia api,但是使用 python 来解决一般解析问题是个好主意吗?
另外,维基百科页面上的表格数据可能会发生变化,所以我需要每天解析。我如何自动执行此脚本?另外,有什么想法可以在不使用 svn 等外部工具的情况下进行版本控制,以便在需要时可以轻松恢复更新吗?
I am try to make a web application that needs to parse one specific wikipedia page & extract some information which is stored in a table format on the page. The extracted data would then need to be stored onto a database.
I haven't really done anything like this before. What scripting language should I use to do this? I have been reading a little & looks like Python (using urllib2 & BeautifulSoup) should do the job, but is it the best way of approaching the problem.
I know I could also use the WikiMedia api but is using python a good idea for general parsing problems?
Also the tabular data on the wikipedia page may change so I need to parse every day. How do I automate the script for this? Also any ideas for version control without external tools like svn so that updates can be easily reverted if need be?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Python 会做,正如你标记你的问题一样。
这是可行的。我个人会使用lxml.etree。另一种方法是以原始格式获取页面,然后您将执行不同的解析任务。
这似乎是一个陈述和一个不相关的论证问题。主观上,如果我正在解决你所问的问题,我会使用 python。
Unix cron 作业。
Subversion 存储库可以与您编写的脚本在同一台计算机上运行。或者,您可以使用分布式版本控制系统,例如
git
。奇怪的是,您没有提到您打算如何处理这些数据。
Python will do, as you've tagged your question.
It's workable. I'd use
lxml.etree
personally. An alternative is fetching the page in the raw format, then you have a different parsing task.This appears to be a statement and an unrelated argumentative question. Subjectively, if I was approaching the problem you're asking about, I'd use python.
Unix cron job.
A Subversion repository can be run on the same machine as the script you've written. Alternatively you could use a distributed version control system, e.g.
git
.Curiously, you've not mentioned what you're planning on doing with this data.
是的,Python 是网页抓取的绝佳选择。
维基百科经常更新内容,但很少更新结构。如果表具有唯一性(例如 ID),那么您可以更自信地提取数据。
以下是使用此库抓取维基百科的简单示例:
以下是输出:
yes Python is an excellent choice for web scraping.
Wikipedia updates the content often but the structure rarely. If the table has something unique like an ID then you can get extract the data more confidently.
Here is a simple example to scrape wikipedia using this library:
And here is the output: