[Ý tưởng] Xây dựng app tra cứu 2000 phác đồ điều trị bệnh
Hồi trước mình có viết 1 cái tool để crawl data gần 2000 phác đồ điều trị bệnh của các bệnh viện lớn trong cả nước.
Mình có chia sẻ ở đây
Tuy nhiên, hồi đó mình ghi ra Word do vậy rất nặng, hơn 8000 trang. Mỗi lần mở hay tìm kiếm rất là cực luôn @@!
(Nghĩ lại mới thấy hồi đó ngu quá :v )
Nay, hồi tuần rồi Facebook nhắc, mình mới chợt có ý tưởng Xây dựng app tra cứu 2000 phác đồ điều trị bệnh của các bệnh viện lớn trong cả nước cho mọi người dễ dùng, dễ chia sẻ :v
Chuẩn bị data
Vấn đề là hồi trước mình làm chỉ với mục đích xuất ra Word cho mọi người dễ dùng. Tuy nhiên giờ mới thấy hồi đó ngu. Xuất ra file Word nặng (hơn 8000 trang), khó xem, khó tìm kiếm. Giờ muốn mở nó lên xem cũng phải yêu cầu một máy khá khá về cấu hình, chưa kể giờ có ý tưởng chuyển đổi sang app thì gặp vô vàn rắc rối.
=> Kinh nghiệm rút ra là:
Sau này có crawl data thì tách riêng ra từng file và nên lưu thẳng dạng HTML hay đưa vô Database rồi sau đó muốn chuyển sang dạng gì để chia sẻ thì chuyển! Nhớ nhé!!! @@
Để đưa được data vô DataBase, thì mình cần phải tách từng phác đồ trị bệnh ra riêng thành các record với tiêu đề, nội dung, lĩnh vực riêng cho từng phác đồ.
Vấn đề là file docx thì không thể đưa thẳng vô Database được (Mình dùng MySQL cho nhanh), chẳng lẽ copy/paste hết 2000 các phác đồ này vô =.=!
Dẹp cái ý tưởng này vì mình không rảnh và cũng không thích làm chuyện thủ công như vậy.
Vậy ý tưởng là mình sẽ convert cái file docx kia sang HTML rồi viết tool bóc tách data ra.
Docx2HTML
File lớn quá lỗi rồi @@
Thử với tool khác, không được nữa chắc kiếm thư viện rồi viết tool chạy chuyển đổi luôn quá =))
https://medium.com/@kelvintran/convert-word-to-html-using-python-with-python-mammoth-5590b96b434f
Cơ mà hên sau cái tool convert sau lại ok
https://document.online-convert.com/convert-to-html
Kết quả từ cái file Word ra được cái file HTML 26Mb :v
Bóc tách dữ liệu
Tạo Database
Bóc tách dữ liệu
Viết hàm tách văn bản
Fix lỗi mệt nghỉ (nản nhất là mấy vụ xử lý chuỗi @@)
Cuối cùng gần thành công nhất là vẫn còn bị mấy điểm sau:
- Dư khoảng trắng (Cố gắng khắc phục vì nó sẽ ảnh hưởng đến tìm kiếm)
- Bị dư chữ h1 do thẻ h1 bị lỗi không mở mà có đóng
- Vẫn còn chèn link đến bài viết (do hồi đó mình ghi ra cho người xem dễ tham khảo đến nguồn bài viết, cơ mà giờ web đó chết rồi
Do vậy cần 1 hàm replace khoảng trắng và bỏ chữ h1, link
Insert data to Database
Viết cái hàm đẩy dữ liệu vào Database
Test truy vấn thử phác nào =))
Xây dựng giao diện, chức năng tìm kiếm
Tada! Và đây là giao diện của ứng dụng, hơi cùi mía xíu nhưng chịu khó thì cũng search được :v
Chi tiết một phác đồ điều trị bệnh
Mục giới thiệu^^
"Đính kèm" lên Web
Tạo cho ứng dụng một cái sub domain xương xương nữa rồi... chia sẻ thôi :v
Bổ sung thêm link để có thể bookmark hoặc chia sẻ phác đồ^^
5/2019
soiqualang_chentreu