0

次の URL でウィキペディアのカテゴリを解析しようとしています。

http://en.wikipedia.org/w/api.php?action=query&format=json&cllimit=max&prop=categories&titles=Albert%20Einstein

...「albert einstein」はウィキペディアの任意のページです

私が抱えている問題は、変数であるページ ID (この場合は "736" - このページでのみ機能する) をハードコーディングせずに解析する方法がわからないことです。

注: 私は今日 JSON の学習を始めたばかりなので、これは簡単なことかもしれません。

$page = $_GET['page'];
$page = str_replace('_',' ',$page);

$url = 'http://en.wikipedia.org/w/api.php?
action=query&format=json&cllimit=max&prop=categories&titles='.$page;

echo $url;

$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->{'query'}->{'pages'}->{'736'}->{'categories'};

print_r ($content);
4

1 に答える 1

1

少なくとも理論的には、複数のページが存在する可能性があると思われるので、そうしない理由は次のとおりです。

foreach ($json->{'query'}->{'pages'} as $page) {
    print_r ($page->{'categories'});
}
于 2012-11-20T19:15:00.537 に答える