Ali*_*Ali 2 php wikipedia zend-framework
我正在使用curl从维基百科中检索信息.到目前为止,我已成功检索基本文本信息,但我真的想要用HTML检索它.
这是我的代码:
$s = curl_init();
$url = 'http://boss.yahooapis.com/ysearch/web/v1/site:en.wikipedia.org+'.$article_name.'?appid=myID';
curl_setopt($s,CURLOPT_URL, $url);
curl_setopt($s,CURLOPT_HEADER,false);
curl_setopt($s,CURLOPT_RETURNTRANSFER,1);
$rs = curl_exec($s);
$rs = Zend_Json::decode($rs);
$rs = ($rs['ysearchresponse']['resultset_web']);
$rs = array_shift($rs);
$article= str_replace('http://en.wikipedia.org/wiki/', '', $rs['url']);
$url = 'http://en.wikipedia.org/w/api.php?';
$url.='format=json';
$url.=sprintf('&action=query&titles=%s&rvprop=content&prop=revisions&redirects=1', $article);
curl_setopt($s,CURLOPT_URL, $url);
curl_setopt($s,CURLOPT_HEADER,false);
curl_setopt($s,CURLOPT_RETURNTRANSFER,1);
$rs = curl_exec($s);
//curl_close( $s );
$rs = Zend_Json::decode($rs);
$rs = array_pop(array_pop(array_pop($rs)));
$rs = array_shift($rs['revisions']);
$articleText = $rs['*'];
Run Code Online (Sandbox Code Playgroud)
然而,以这种方式检索的文本不足以显示:(它全部采用这种格式
'''Aix-les-Bains'''[[Savoie]] [[法国部门]] [[罗纳 - 阿尔卑斯]] [[地区] [[Communes of France | commune]法国|地区]]在东南[[法国]].
铁路北[尚贝里]它位于靠近[紫胶杜歇] {简称=上} {转换| 9 |千米| |英里}.
==历史=='''Aix''源于[[拉丁文]]''Aquae''(字面意思是"水";''cf''[[Aix-la-Chapelle]](亚琛)或[[Aix] -en-Provence]]),Aix在[[罗马帝国]]期间洗澡,甚至在它被重新命名为'Aquae Gratianae'以纪念[[格拉蒂安皇帝]],在不远处被暗杀, [[里昂]],[[383]].许多罗马遗体幸存下来.[[Image:IMG 0109 Lake Promenade.jpg | thumb | left | Lac du Bourget Promenade]]
如何获取维基百科文章的HTML?
更新:谢谢,但我对此有点新,现在我正在尝试运行xpath查询[虽然是第一次],似乎无法获得任何结果.我实际上需要知道一些事情.
我从维基百科上浏览了这个关于数据挖掘的网址 - 它提出了一个想法,向维基百科api发出第二个请求,将检索到的维基百科文本作为参数并检索html - 尽管到目前为止它似乎没有工作:( -我不想只把整篇文章当作乱七八糟的html来转储它.基本上我的应用程序它的作用是你在地图上有一些位置和城市针脚 - 你点击城市标记它会要求通过相关div中显示的城市的ajax详细信息.我希望动态地从维基百科获取这些信息.我会担心如何处理特定城市以后不存在的文章,只需要确保它在这一点上工作.
有没有人知道一个很好的工作示例,它正在寻找我正在寻找的东西,即阅读和解析维基百科文章的选定部分.
根据提供的网址 - 它说我应该将wiki文本发布到维基百科api位置,以便返回已解析的html.问题是,如果我发布信息,我得不到任何响应,而是一个我拒绝访问的错误 - 但是如果我尝试将wikitext包含为GET,则它会解析没有问题.但是,当我有太多的文本需要解析时,它当然失败了.
这是维基百科api的问题吗?因为我已经被黑客攻击了两天而现在没有运气:(
| 归档时间: |
|
| 查看次数: |
3393 次 |
| 最近记录: |