试图抓取wikitravel

问题描述:

我正试图抓取特定数据的维基旅行。像气候,getin等 我已经设法从他们的特殊出口的XML。试图抓取wikitravel

http://wikitravel.org/en/Special:Export/San_Francisco 我以XML格式的数据,但它是在维基标记,我尝试浏览的解决方案,使该文本,但无法找到一个合适的解决方案。

我试着用正则表达式写一个php函数,所以我可以将它转换成html,但它以非均匀的方式转换,所以很难选择特定的数据。

也试着写的mediawiki URL,这样我可以计划一些 http://wikitravel.org/en/api.php?format=xml&action=query&titles=Main%20Page&prop=revisions&rvprop=content 但它不工作。

你能帮我解决这个问题吗?有没有人成功地刮过*。我有一个教程或任何其他技术,我可以参考。

+1

我不明白。如何让页面的HTML帮助你? – svick 2012-03-16 12:37:15

有一个类似的问题在这里:Where can I find a good MediaWiki Markup parser in PHP?

我也发现了这一点:https://github.com/codeholic/w/blob/master/creole.php 这些来自:http://www.ivan.fomichev.name/2010/02/php-creole-10-wiki-markup-parser.html

这听起来像一个令人沮丧的努力,祝你好运!

维客旅行的链接到MediaWiki API是http://wikitravel.org/wiki/en/api.php,那么试试这个来代替:

http://wikitravel.org/wiki/en/api.php?format=xml&action=query&titles=Main%20Page&prop=revisions&rvprop=content

你将要使用的API客户端,请参阅http://www.mediawiki.org/wiki/API:Client_code的选择。另外请注意,Wikitravel使用旧版本的MediaWiki(1.11),所以现代API中的许多操作都不起作用。