php - 维基百科 API - 从信息框获取完整信息

标签 php api wikipedia

我正在尝试提取“KFC”等页面的母公司信息(在信息框 Pane 中)。

如果您访问

http://en.wikipedia.org/wiki/KFC

url...信息框包含属性(Parent = Yum! Brands)

..但是,当我通过 PHP API 访问时..不包含父信息。

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=json&titles=KFC&rvsection=0

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

谢谢!

最佳答案

看看wikipedia wiki获取信息的官方方式。

我的建议是通过 PHP Simple HTML DOM Parser 使用屏幕抓取即使它已被弃用,它也永远是最好的。唯一的缺点是,如果维基百科改变了它的外观,您将不得不更新您的代码。

一个 guide PHP 简单 HTML DOM 解析器。

编辑:

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

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

<?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个小时=/

谢谢;)

关于php - 维基百科 API - 从信息框获取完整信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21643142/

相关文章:

php - 如何查找是否有连续两次重复的单词

api - 如何使用 Web Audio API 来制作吉他、钢琴等声音

python-3.x - 我如何使用 beautifulsoup 从维基百科表中提取一条数据

python 维基百科抓取 - 获取其他语言的同一页面的链接?

php - 返回 php 表单并自动提交

php - Symfony 3.3 内置服务器错误

php - 如何在 Laravel 5.1 中为作业创建子目录?

javascript - OMDb API 无法在 JavaScript 中运行

python - 使用 beautiful soup 的基本网页抓取 : scrape a table

java - 如何抓取整个维基百科?