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.
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
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:
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.
Lấy ra được giá trị theo ý rồi thì sẽ nhảy qua phần tiếp theo
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
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 }
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
Nhãn: Reference