Analisis dan visualisasi data wabak sentiasa menjadi topik yang mendapat perhatian meluas semasa wabak. Apabila menganalisis dan menggambarkan data wabak dalam PHP, anda bukan sahaja boleh mendapatkan data wabak terkini, tetapi juga menganalisis dan memaparkan data melalui alat visualisasi data untuk memahami arah aliran perkembangan wabak dengan lebih intuitif.
Artikel ini akan memperkenalkan secara ringkas cara mendapatkan data wabak terkini dalam PHP dan cara menggunakan alat visualisasi data biasa untuk menganalisis dan memaparkan data.
1. Mendapatkan data wabak
Mendapatkan data wabak terkini boleh dicapai melalui perangkak web. Apabila merangkak data, anda perlu memberi perhatian kepada beberapa kaedah anti-rangkak biasa Anda boleh menggunakan beberapa teknik mudah, seperti menetapkan pengepala permintaan perangkak dan log masuk simulasi, untuk mengelakkan anti-rangkak.
Terdapat banyak cara untuk mendapatkan data wabak yang berikut memerlukan merangkak tapak web rasmi Dingxiangyuan (https://ncov.dxy.cn) sebagai contoh untuk memperkenalkan cara menggunakan PHP untuk mendapatkan data wabak terkini.
Langkah khusus adalah seperti berikut:
1 Gunakan CURL untuk menghantar permintaan HTTP dan menyimpan hasil respons sebagai rentetan.
function get_html($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); return $output; } $html = get_html('https://ncov.dxy.cn/ncovh5/view/pneumonia');
2. Gunakan ungkapan biasa untuk memadankan data yang diperlukan.
$pattern = '/<script id="getListByCountryTypeService2">(.*?)</script>/si'; preg_match($pattern, $html, $matches); $matches_str = $matches[1];
3. Tukar rentetan yang dipadankan kepada tatasusunan PHP.
$matches_str = str_replace('toArray(', '', $matches_str); $matches_str = str_replace(')', '', $matches_str); $data_array = json_decode($matches_str, true);
2. Visualisasi Data
Selepas mendapatkan data wabak, anda boleh menggunakan alat visualisasi data biasa untuk menganalisis dan memaparkan data. Echarts digunakan sebagai alat visualisasi data di sini.
Echarts ialah perpustakaan visualisasi data JavaScript yang menyokong pelbagai jenis carta, termasuk carta garis, carta bar, carta pai, dsb. Echarts menyokong integrasi dengan PHP Anda hanya perlu menukar tatasusunan PHP ke dalam format JSON dan menghantarnya ke bahagian hadapan.
Berikut ialah proses pelaksanaan khusus.
1. Perkenalkan pustaka Echarts ke dalam halaman HTML.
<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
2. Gunakan tatasusunan PHP untuk menjana data format JSON.
$data = []; foreach ($data_array as $item) { $data[] = [ 'name' => $item['provinceName'], 'value' => $item['confirmedCount'] ]; } $json_data = json_encode($data);
3. Gunakan kod JavaScript untuk menghantar data format JSON ke Echarts dan menjana carta visual jenis peta.
<script type="text/javascript"> var myChart = echarts.init(document.getElementById('map')); var option = { visualMap: { min: 0, max: 80000, left: 'left', top: 'bottom', text: ['高', '低'], calculable: true }, toolbox: { show: true, orient: 'vertical', left: 'right', top: 'center', feature: { dataView: {readOnly: false}, restore: {}, saveAsImage: {} } }, series: [ { name: '确诊人数', type: 'map', mapType: 'china', roam: false, label: { normal: { show: true }, emphasis: { show: true } }, data:<?php echo $json_data; ?> } ] }; myChart.setOption(option); </script>
Kod ini akan menjana carta visual jenis peta China yang menunjukkan bilangan kes yang disahkan di setiap wilayah.
3. Ringkasan
Melalui kaedah di atas, kami boleh mendapatkan data wabak terkini dalam PHP dengan mudah dan menggunakan alat visualisasi data seperti Echarts untuk menganalisis dan memaparkan data. Alat ini boleh membantu kami memahami arah aliran perkembangan wabak dengan lebih intuitif dan menyediakan sokongan data yang kukuh untuk pencegahan dan kawalan wabak.
Atas ialah kandungan terperinci Bagaimana untuk menganalisis dan menggambarkan data wabak dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!