0

我们正在尝试从维基百科的 api 获取意大利数据。我们有多个名称,需要获得前 10 个结果。

例如,我们想从这个结果的“个人”部分收集数据:http://it.wikipedia.org/wiki/Francesco_(nome )

现在我正在尝试这种方法:

$kw = $name."_(nome)";
$url = "http://it.wikipedia.org/w/api.php?format=json&action=query&titles=".$kw."&prop=revisions&rvprop=content";

其他问题没有多大帮助,我没有得到任何输出。

4

1 回答 1

1

您可以使用php dom 解析器文档

通过在他们的 dom 中简单查找,这里是名字的代码:

require('dom/simple_html_dom.php');

$name = 'Francesco';
$kw = $name . '_(nome)';
$html = file_get_html('http://it.wikipedia.org/wiki/' . $kw);

$span = $html->getElementById('Persone');
$h2 = $span->parent();


$ul = $h2->next_sibling()->next_sibling()->next_sibling()->next_sibling();

$lis = $ul->find('li');

foreach($lis as $li){
    echo($li->plaintext . '<br />');
}
于 2013-03-19T20:20:15.770 回答