首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Wikipedia API - PHP逐节获取Wikipedia内容

如何使用Wikipedia API - PHP逐节获取Wikipedia内容
EN

Stack Overflow用户
提问于 2013-12-06 14:06:31
回答 1查看 1K关注 0票数 0

有没有更好的方法从维基百科中获取特定章节的文本内容。我有下面的代码可以跳过一些部分,但是这个过程花费了太长的时间来获取数据。

代码语言:javascript
复制
    for($i=0;$i>10;$i++){
      if($i != 2 || $i != 4){
          $url = 'http://en.wikipedia.org/w/api.php?action=parse&page=ramanagara&format=json&prop=text&section='.$i;
          $ch = curl_init($url);
          curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt ($ch, CURLOPT_USERAGENT, "TestScript"); 
          $c = curl_exec($ch);
          $json = json_decode($c);

          $content = $json->{'parse'}->{'text'}->{'*'};
          print preg_replace('/<\/?a[^>]*>/','',$content);
       }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-06 18:22:53

首先,您告诉这个循环,直到$i大于10,实际上,循环将一直循环到服务器请求超时为止。将其更改为$i<10,或者如果只需要几个部分,请尝试:

代码语言:javascript
复制
foreach (array(1,3,5,6,7) as $i)
    //your code

其次,将JSON解码为一个关联数组,如下所示:

$json = json_decode($c, true);

并且像$json['parse']['text']['*']一样引用它更容易,但这取决于您。

第三,您会发现strip_tags()的功能可能比用正则表达式剥离标记更快、更准确。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20425851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档