接入教程
1. 访问https://www.gov.uk/bank-holidays.json获取原始数据
2. 选择需要查询的地区分支(england-and-wales/scotland/northern-ireland)
3. 解析JSON中的division、events等字段
4. 提取events数组内的title、date等假期信息
5. 按年份或地区筛选所需假期数据
Python 获取英国银行假日
import requests
url = 'https://www.gov.uk/bank-holidays.json'
headers = {
'User-Agent': 'YourApp/1.0'
}
try:
response = requests.get(url, headers=headers)
response.raise_for_status()
data = response.json()
print(f'Available divisions: {list(data.keys())}')
for division, holidays in data.items():
print(f'{division}: {holidays["events"][0]["title"]}')
except requests.exceptions.RequestException as e:
print(f'Error fetching data: {e}')
PHP 获取英国银行假日
<?php
$url = 'https://www.gov.uk/bank-holidays.json';
$options = [
'http' => [
'header' => "User-Agent: YourApp/1.0\r\n"
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response !== false) {
$data = json_decode($response, true);
echo 'Available divisions: ' . implode(', ', array_keys($data)) . "\n";
foreach ($data as $division => $holidays) {
echo $division . ': ' . $holidays['events'][0]['title'] . "\n";
}
} else {
echo 'Error fetching data.';
}
?>
JavaScript 获取英国银行假日
fetch('https://www.gov.uk/bank-holidays.json', {
headers: {
'User-Agent': 'YourApp/1.0'
}
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
console.log('Available divisions:', Object.keys(data));
Object.entries(data).forEach(([division, holidays]) => {
console.log(`${division}: ${holidays.events[0].title}`);
});
})
.catch(error => {
console.error('Error fetching data:', error);
});
常见问题
这个 API 需要 API 密钥吗?
不需要。英国政府官网提供的银行假日数据是公开且免费的,无需任何 API 密钥或身份验证即可访问。
数据更新频率是怎样的?
数据由英国政府维护,通常会在新的银行假日被正式确认或日期有变更时更新。建议在您的应用中缓存数据,并定期(如每月)检查更新。
API 返回的数据结构是怎样的?
API 返回一个 JSON 对象,键为地区(如 'england-and-wales'),每个地区对应的值包含 'division'(地区名)和 'events'(事件数组)等信息,每个事件包含 'title'(假日名称)、'date'(日期)和 'notes'(备注)等字段。
Aitishiku.com