Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 维基百科API-从infobox获取完整信息_Php_Api_Wikipedia - Fatal编程技术网

Php 维基百科API-从infobox获取完整信息

Php 维基百科API-从infobox获取完整信息,php,api,wikipedia,Php,Api,Wikipedia,我正在尝试提取母公司信息(在infobox窗格中),例如“KFC” 如果您访问 url。。。信息框包含属性(父项=Yum!Brands) 。。然而,当我通过PHP API访问时。。不包括父级信息 我如何确保WikipediaAPI也返回“Parent=”信息(对于“KFC”这样的品牌术语)。本质上,我想通过维基百科API提取百胜品牌是肯德基母公司的信息 谢谢 看看官方获取信息的方式 我的建议是使用屏幕抓取,这将永远是最好的,即使它不赞成。唯一的缺点是,如果Wikipedia改变它的外观,您将

我正在尝试提取母公司信息(在infobox窗格中),例如“KFC”

如果您访问

url。。。信息框包含属性(父项=Yum!Brands)

。。然而,当我通过PHP API访问时。。不包括父级信息

我如何确保WikipediaAPI也返回“Parent=”信息(对于“KFC”这样的品牌术语)。本质上,我想通过维基百科API提取百胜品牌是肯德基母公司的信息

谢谢

看看官方获取信息的方式

我的建议是使用屏幕抓取,这将永远是最好的,即使它不赞成。唯一的缺点是,如果Wikipedia改变它的外观,您将不得不更新代码

一个到PHP的简单HTML DOM解析器

编辑:

至少我正在做一些事情,而不是链接到非工作资源和否决正确答案

下面是我使用PHP简单HTML DOM解析器从Infobox窗格获取母公司信息的代码

<?php

//The folder where you uploaded simple_html_dom.php
require_once('/homepages/../htdocs/simple_html_dom.php');

//Wikipedia page to parse
$html = file_get_html('http://en.wikipedia.org/wiki/KFC');


foreach ( $html->find ( 'tr th a[title=Holding company]' ) as $element ) {
    $element = $element->parent;
    $element = $element->parent;

    $tabella = $element->find ( 'td', 0 );

    //Now $parent contains "Yum! Brands"
    $parent = $tabella->plaintext;

    echo $parent;

}

?>

如果这个答案适合你的需要,请选择它作为最佳答案并投票,因为我花了很多精力,大约1小时=/


谢谢;)

ChicagoDude已经在使用MediaWiki API了——建议他阅读维基百科的文档指导他使用这个API是没有用的,更不用说解决方案了。我指导他使用DOM解析器,这似乎是唯一的解决方案