从维基百科中提取特定数据 api
extract specific data from wikipedia api
我收到如下 API 回复。
我这样做是为了消除响应。并得到以下回应。
$data = json_decode($response);
{#240 ▼
+"batchcomplete": ""
+"query": {#243 ▼
+"pages": {#234 ▼
+"171166": {#245 ▼
+"pageid": 171166
+"ns": 0
+"title": "Nepal"
+"extract": """
Nepal (/nəˈpɔːl/; Nepali: नेपाल Nepāl [neˈpal]), officially the Federal Democratic Republic of Nepal (Nepali: सङ्घीय लोकतान्त्रिक गणतन्त्र नेपाल Sanghiya Loktā ▶
The territory of Nepal has a recorded history since the Neolithic age. The name "Nepal" is first recorded in texts from the Vedic Age, the era which founded Hin ▶
Modern Nepal is a federal secular parliamentary republic. It has seven states. Nepal is a developing nation, ranking 144th on the Human Development Index (HDI) ▶
Nepal's foreign relations expanded after the Anglo-Nepal Treaty of 1923, which was recognized by the League of Nations. After a Soviet veto in 1949, Nepal was a ▶
"""
}
}
}
}
我想提取 title
和 content
。我该怎么做?
编辑:我已经尝试$data = json_decode($response, true);
并通过var_dump($data['query']['pages'])
得到以下结果。结果:
array:1 [▼
171166 => array:4 [▼
"pageid" => 171166
"ns" => 0
"title" => "Nepal"
"extract" => """
Nepal (/nəˈpɔːl/; Nepali: नेपाल Nepāl [neˈpal]), officially the Federal Democratic Republic of Nepal (Nepali: सङ्घीय लोकतान्त्रिक गणतन्त्र नेपाल Sanghiya Loktā ▶
The territory of Nepal has a recorded history since the Neolithic age. The name "Nepal" is first recorded in texts from the Vedic Age, the era which founded Hin ▶
Modern Nepal is a federal secular parliamentary republic. It has seven states. Nepal is a developing nation, ranking 144th on the Human Development Index (HDI) ▶
Nepal's foreign relations expanded after the Anglo-Nepal Treaty of 1923, which was recognized by the League of Nations. After a Soviet veto in 1949, Nepal was a ▶
"""
]
]
只需将页面用作数组:
$response = json_decode(file_get_contents('https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=Stack%20Overflow'));
$pages = (array) $response ->query->pages;
foreach ($pages as $id => $page) {
echo $page->title;
}
使用formatversion=2
以更易于处理的格式获取数据。
$response = json_decode(file_get_contents('https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&formatversion=2&exintro=&titles=Stack%20Overflow'), true);
echo($response['query']['pages'][0]['title']);
我收到如下 API 回复。
我这样做是为了消除响应。并得到以下回应。
$data = json_decode($response);
{#240 ▼
+"batchcomplete": ""
+"query": {#243 ▼
+"pages": {#234 ▼
+"171166": {#245 ▼
+"pageid": 171166
+"ns": 0
+"title": "Nepal"
+"extract": """
Nepal (/nəˈpɔːl/; Nepali: नेपाल Nepāl [neˈpal]), officially the Federal Democratic Republic of Nepal (Nepali: सङ्घीय लोकतान्त्रिक गणतन्त्र नेपाल Sanghiya Loktā ▶
The territory of Nepal has a recorded history since the Neolithic age. The name "Nepal" is first recorded in texts from the Vedic Age, the era which founded Hin ▶
Modern Nepal is a federal secular parliamentary republic. It has seven states. Nepal is a developing nation, ranking 144th on the Human Development Index (HDI) ▶
Nepal's foreign relations expanded after the Anglo-Nepal Treaty of 1923, which was recognized by the League of Nations. After a Soviet veto in 1949, Nepal was a ▶
"""
}
}
}
}
我想提取 title
和 content
。我该怎么做?
编辑:我已经尝试$data = json_decode($response, true);
并通过var_dump($data['query']['pages'])
得到以下结果。结果:
array:1 [▼
171166 => array:4 [▼
"pageid" => 171166
"ns" => 0
"title" => "Nepal"
"extract" => """
Nepal (/nəˈpɔːl/; Nepali: नेपाल Nepāl [neˈpal]), officially the Federal Democratic Republic of Nepal (Nepali: सङ्घीय लोकतान्त्रिक गणतन्त्र नेपाल Sanghiya Loktā ▶
The territory of Nepal has a recorded history since the Neolithic age. The name "Nepal" is first recorded in texts from the Vedic Age, the era which founded Hin ▶
Modern Nepal is a federal secular parliamentary republic. It has seven states. Nepal is a developing nation, ranking 144th on the Human Development Index (HDI) ▶
Nepal's foreign relations expanded after the Anglo-Nepal Treaty of 1923, which was recognized by the League of Nations. After a Soviet veto in 1949, Nepal was a ▶
"""
]
]
只需将页面用作数组:
$response = json_decode(file_get_contents('https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=Stack%20Overflow'));
$pages = (array) $response ->query->pages;
foreach ($pages as $id => $page) {
echo $page->title;
}
使用formatversion=2
以更易于处理的格式获取数据。
$response = json_decode(file_get_contents('https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&formatversion=2&exintro=&titles=Stack%20Overflow'), true);
echo($response['query']['pages'][0]['title']);