Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop

 Cũng khá lâu rồi chưa có bài viết nào, ngồi trên máy tính làm một số việc và lâu lâu mở tin tức tình hình dịch bệnh như thế nào, cầu mong cho dịch bệnh nhanh qua mau. Thường thì hay xem trên vnexpress, lâu lâu cứ mở nhưng lại hay lười muốn xem nhanh nên lấy thông tin đưa lên màn hình máy tính để xem cho nhanh.


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop


Vậy hình trên là cái gì ?  Conky là một phần mềm miễn phí giám sát hệ thống máy tính để bàn có sẵn cho Linux, FreeBSD và OpenBSD...., có nghĩa là nó hiển thị các thông số máy, mình dùng để theo dõi tình trạng máy như thế nào.

Cài đặt nó như thế nào, xin thưa rằng khá là dễ và làm theo các bước sau là được :


sudo apt install conky-all
cp /etc/conky/conky.conf ~/.conkyrc

Vào file như bên dưới để config lại như mong muốn. Config như hình thì link sau : link


vi ~/.conkyrc

Sau khi cài xong nhớ dùng startup kích nó lên khi khởi động


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop

OK, như trên là đã xong phần cài đặt và cấu hình cơ bản rồi, quay lại bài chính là muốn đưa dữ liệu covid lên để xem cho nhanh thì lấy từ đâu.


Có dạo qua trên mạng thấy nhiều người share api họ lấy về làm sẵn đưa ra json cho dùng nhiều rồi, thấy cũng tiện nhưng mình không dùng. Vì hay xem trên vnexpress nên quyết định xem nó có gì hay ho không, ở đây vì nhu cầu xem thông tin thôi nên quyết định lấy trực tiếp từ nó về.

Chuẩn bị data:


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop


OK, nó có thông tin mình cần, đúng theo ý rồi, và họ có link data luôn, và phần này cám ơn họ vì data khá là đẹp nên dễ sài, thông tin có ích mà, nên cảm ơn họ :) Chịu khó ngồi đọc data và so sánh số liệu để hiểu nó có gì, cần có thời gian.


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop

Sau một thời gian ngồi đọc và so sánh thì đã có được số liệu cần thiết


https://vnexpress.net/microservice/sheet/type/covid19_2021_281
https://vnexpress.net/microservice/sheet/type/covid19_2021_by_day
https://vnexpress.net/microservice/sheet/type/covid19_2021_by_map


Phần data đã có mình sẽ nhảy qua phần khác, lấy data về sao cho hợp lý và đúng với cái mình cần

Code python

Do nhu cầu chỉ lấy thông tin trong tỉnh nên regex cho nhanh lấy cái mình cần trong tỉnh, đó là hôm trước chỉ cần biết trong tỉnh.


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop


Hôm sau nhìn thấy trong tỉnh không nên lấy thêm số liệu cả nước để xem luôn, nên quyết định code thêm xíu nữa, vì data khá đẹp nên dùng pandas cho nhanh.


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop

Lấy ra được giá trị theo ý rồi thì sẽ nhảy qua phần tiếp theo


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop

Conky Configurations

Để xử lý được thằng này và dùng nó theo ý mình thì chịu khó đọc sơ qua tài liệu, xem nó cung cấp những các gì, phần này lướt nhanh chủ yếu tìm kiếm  biến nó đang hỗ trợ.


http://conky.sourceforge.net/variables.html


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop


Như ở trên phần python nó giải quyết phần xử lý data, ở đây dùng offline, cứ hẹn 15 phút nó kéo về data mới, dùng luôn hỗ trợ của conky


${execi 900 curl -so ~/.cache/covid/covid19_2021_by_map.js 'https://vnexpress.net/microservice/sheet/type/covid19_2021_by_map'}
${execi 900 curl -so ~/.cache/covid/covid19_2021_281.js 'https://vnexpress.net/microservice/sheet/type/covid19_2021_281'}
${execi 900 curl -so ~/.cache/covid/covid19_2021_by_day.js 'https://vnexpress.net/microservice/sheet/type/covid19_2021_by_day'}


Nó sẽ hỗ trợ kéo data về lưu lại, vì mặc định vnexpress nó đặt là .js nên lấy nguyên con để dùng khỏi cần phải lăng tăng.

Phần tiếp theo là thiết kế sao cho nó đẹp đẹp phần giao diện hiển thị, ngồi thiết kế xúi nó ra như hình sau :)


${font sans-serif:bold:size=10} ${image ~/.cache/covid/img/virut.png -p 10,830 -s 60x60 } ${goto 85} COVID 19 - KHÁNH HÒA ${hr 2}
${font sans-serif:bold:size=9} Tổng    :${goto 240} ${execi 600 python ~/.cache/covid/pycovid.py --total } ${image ~/.cache/covid/img/covid.png -p 280,890 -s 15x15 }
${font sans-serif:bold:size=9} Hôm nay :${goto 240} ${execi 600 python ~/.cache/covid/pycovid.py --day } ${image ~/.cache/covid/img/covid.png -p 280,905 -s 15x15 }
${font sans-serif:bold:size=9} Hôm Qua :${goto 240} ${execi 600 python ~/.cache/covid/pycovid.py --yesterday } ${image ~/.cache/covid/img/covid.png -p 280,920 -s 15x15 }

${font sans-serif:bold:size=10}  COVID 19 - VIỆT NAM ${hr 2}
${font sans-serif:bold:size=9} Nhiễm ${goto 80}  : ${execi 600 python ~/.cache/covid/pycovid.py --vnall } $alignr Hôm nay  : ${execi 600 python ~/.cache/covid/pycovid.py --vntoday }
${font sans-serif:bold:size=9} Khỏi  ${goto 80}  : ${execi 600 python ~/.cache/covid/pycovid.py --vnrecoveredall } $alignr Hôm nay  : ${execi 600 python ~/.cache/covid/pycovid.py --vnrecovered }
${font sans-serif:bold:size=9} Tử vong ${goto 90} : ${execi 600 python ~/.cache/covid/pycovid.py --vndeaths }
${font sans-serif:bold:size=9} Điều trị ${goto 90} : ${execi 600 python ~/.cache/covid/pycovid.py --vntreatmentall } $alignr Hôm nay :  ${execi 600 python ~/.cache/covid/pycovid.py --vntreatment }

Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop


Cuối cùng là có ngay thông tin cần thiết, đây chỉ là cách làm ngẫu hứng lấy data covid để xem thôi, dựa theo những gợi ý ở trên có thể dùng Conky phục vụ vào khá là việc cần thiết :) Nếu muốn tham khảo thì vào link sau để xem full : link


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop



Nhãn: