Thư viện Python hỗ trợ vượt qua bàn phím ảo (vKeyboard)
(github.com/soulee-dev)Bàn phím ảo (vKeyboard), được sử dụng rộng rãi như một chương trình bảo mật trên các website tài chính, chính phủ, v.v., là một trong những yếu tố chính khiến việc crawling trở nên khó khăn. Để ứng phó với điều này, bài viết giới thiệu một thư viện Python cung cấp cách vượt qua bàn phím ảo.
Việc vượt qua bàn phím ảo được thực hiện bằng cách phân tích độ tương đồng với các ảnh đã được chụp sẵn. Để làm điều này, trước hết hãy dùng vKeypad-Studio để chuẩn bị ảnh và dữ liệu của bàn phím ảo.
Cách sử dụng vKeypad-Studio
- Chuẩn bị ảnh bàn phím ảo.
- Tải ảnh bàn phím ảo lên Figma.
- Trong Figma, dùng công cụ hình chữ nhật để phủ lên từng phím của bàn phím ảo.
- Xuất nội dung đã làm trong Figma thành tệp SVG.
- Trong terminal, nhập lệnh
vkeypad-studio [이미지 파일] [SVG 파일]. - Trong cửa sổ mới hiện ra, nhấn các phím bàn phím tương ứng với hình ảnh.
- Lưu riêng các tệp ảnh trong thư mục
assetsđã tạo và tệpdata.json.
Giờ đây bạn có thể sử dụng thư viện Python để thực hiện việc vượt qua bàn phím ảo với dữ liệu đã chuẩn bị. Nhờ đó, có thể vượt qua bàn phím ảo trên các website chính phủ hoặc tài chính để tiến hành công việc crawling thuận lợi hơn.
5 bình luận
Có phải là không thể áp dụng cho những trường hợp mà bố cục phím liên tục thay đổi không?
Về cơ bản, thư viện này được tạo ra với giả định bố cục phím sẽ liên tục thay đổi.
Nếu tạo sẵn hình ảnh bằng
vkeypad-studio, thì ngay cả khi bố cục phím thay đổi, vẫn có thể nhận diện được thông qua phân tích độ tương đồng với các hình ảnh đó.À, ra là vậy... Chỉ với README và video thì tôi khó hiểu được cách nó hoạt động. Có vẻ cũng không nhất thiết phải là Figma, nhưng việc chỉ đích danh Figma lại khiến tôi hơi bối rối. Dù sao thì để sau tôi sẽ thử dùng, cảm ơn.
Nói rõ hơn thì, về cơ bản hệ thống nhận diện phím nào nằm ở vị trí nào thông qua phân tích độ tương đồng hình ảnh.
Để phân tích độ tương đồng hình ảnh, cần có ảnh của từng phím, và công cụ được tạo ra để tự động hóa việc này là vkeypad-studio.
Nếu chồng các hình chữ nhật lên trên ảnh bàn phím bằng Figma, các layer sẽ được xếp trong file svg. Trích xuất tọa độ của các layer này để crop ảnh, rồi ghi lại tọa độ và keycode.
Sau đó, có thể phân tích các phím thông qua những ảnh và tọa độ đã lưu theo cách này.
Thực ra việc để dùng Figma đơn giản là vì sự tiện lợi cho người dùng. Phần lớn bàn phím ảo có chiều rộng cố định, và tính năng auto-align do Figma cung cấp rất tốt, nên tôi nghĩ có thể cung cấp flow như thế này, nhưng ngược lại cũng có thể khiến nó trở nên khó hiểu hơn.
Đó là lỗi của tôi khi đã không thể giải thích đầy đủ trong README.. Tôi sẽ thử chỉnh sửa lại README để có thể xem rõ ràng hơn dựa trên những ý kiến mà các bạn đã nói.