我想使用php从维基百科中获取有关我的查询的一些信息。我想要一个描述,标题,img url(如果存在),以及它的一些辅助信息。例如谷歌维基百科信息,有很多辅助信息。
到目前为止,我只有描述&标题。
我的代码:
$q = str_replace("#", "", ucwords($query));
$opts = array('http' =>
array(
'user_agent' => 'Mozilla Firefox www (http://www.mozilla.org)'
)
);
$context = stream_context_create($opts);
$url = 'en.wikipedia.org/w/api.php?action=opensearch&search='.$q.'&limit=1&namespace=0&format=xml';
@$wiki_arr = simplexml_load_file($url);
if(@$wiki_arr->Section->Item->Text == "" or @strtolower($wiki_arr->Section->Item->Text) != strtolower($q))
{
return "";
}
$title = $wiki_arr->Section->Item->Text;
$description = $wiki_arr->Section->Item->Description;
$url = $wiki_arr->Section->Item->Url;
$result = "".$title.", ".$description.", ".$url."";
答案 0 :(得分:0)
再一次,没有维基百科API这样的东西。有一个MediaWiki web API。如果那里不存在某些东西,那么它在wikipedia.org中根本就不存在。
对于您的问题:您说您想要在Google知识图表中执行类似维基百科卡片的操作。有什么力量?游离碱什么是维基媒体项目相当于Freebase? Wikidata.org。 (不仅对维基百科而且对Wikisource等也是如此)所以,请使用维基数据,通过其自身记录的API:http://wikidata.org/w/api.php
您可以查看[[wikidata:属性列表]]以了解要访问的数据类型,以及[[mediawikiwiki:Category:Wikibase]]以便其他库访问API。你可以用这种方式做的一个例子是wdsearch.js,tools.wmflabs.org的另一个推理者(对不起,不能添加更多的链接)。