Cào màn hình là gì? Phương pháp, Sử dụng và Giới hạn

Như thế nào là Scraping Màn Hình?

Trình duyệt Scraping không tốn công sức tự động hóa các trang web công khai đã được trình bày để thực hiện các quy trình trích xuất, một hình thức hiện đại của việc truy cập lớp trình bày liên quan đến việc khai thác màn hình.

Tóm tắt

  • Lấy thông tin từ một bài thuyết trình dành cho con người được gọi là màn hình trích xuất. Nội dung có thể là một terminal, ứng dụng máy tính để bàn, trang web được hiển thị, phiên làm việc từ xa, hình ảnh hoặc chế độ xem tài liệu.
  • Kỹ thuật này hoạt động trên giao diện dữ liệu gốc. Nó đọc văn bản hiển thị, điều khiển giao diện, pixel hoặc thông tin truy cập thay vì dựa vào API hoặc kết nối cơ sở dữ liệu được hỗ trợ.
  • Lấy dữ liệu màn hình là một lĩnh vực rộng lớn và có lịch sử từ trước web hiện đại. Tự động hóa terminal di sản vẫn là một ví dụ cốt lõi.
  • Sự phụ thuộc vào trình bày tạo ra sự mong manh. Bố cục, kích thước cửa sổ, phông chữ, địa phương hóa, chủ đề và thời gian có thể thay đổi màn hình quan sát mà không làm thay đổi dữ liệu kinh doanh cơ bản.
  • Sử dụng một giao diện có cấu trúc ổn định khi một điều kiện được ủy quyền và phù hợp. Việc lấy dữ liệu từ màn hình có khả năng phòng thủ cao nhất khi không có giao diện tốt hơn và quy trình làm việc có sự xác thực và quản lý chặt chẽ.

Screen scraping là việc trích xuất dữ liệu từ lớp trình bày của một hệ thống máy tính. Thay vì yêu cầu nguồn cung cấp một bản ghi có cấu trúc thông qua API, truy vấn, xuất khẩu hoặc tệp, công cụ scraping đọc những gì người dùng có thể thấy hoặc tương tác. Điều đó có thể có nghĩa là các ký tự trong terminal ở các hàng và cột cố định, nhãn và trường trong một cửa sổ máy tính để bàn, văn bản trong một trình duyệt được hiển thị, hoặc các pixel được diễn giải bằng nhận diện ký tự quang học.

Thuật ngữ này thường được sử dụng một cách lỏng lẻo như một từ đồng nghĩa với việc thu thập dữ liệu từ web. Sự chồng chéo là có thật, nhưng phạm vi thì khác nhau. Việc thu thập dữ liệu từ web bị giới hạn ở các nguồn web và có thể hoạt động trên HTML, phản hồi mạng hoặc trạng thái trình duyệt. Việc thu thập dữ liệu từ màn hình có thể nhắm đến các hệ thống không phải web và có thể hoàn toàn phụ thuộc vào tọa độ hình ảnh.

Cách hoạt động của Screen Scraping

Một quy trình lấy dữ liệu từ màn hình trước tiên mở ra hoặc điều hướng đến một chế độ xem mục tiêu. Nó chờ đợi một trạng thái có thể nhận dạng được, xác định các trường quan tâm, đọc giá trị của chúng, xác thực kết quả và gửi đầu ra có cấu trúc đến một hệ thống khác. Phương pháp xác định vị trí định nghĩa phần lớn độ tin cậy.

Các trình thu thập dữ liệu trong terminal có thể đọc các ô ký tự ở các vị trí đã biết. Tự động hóa trên desktop có thể kiểm tra cây điều khiển, nhãn, nút truy cập hoặc tay cầm cửa sổ. Tự động hóa hình ảnh sử dụng mẫu, tọa độ hoặc OCR. Các quy trình làm việc hướng đến trình duyệt có thể kiểm tra văn bản và điều khiển DOM đã được hiển thị. Mỗi phương pháp đều nhận thức được sự trình bày, nhưng một số giữ lại cấu trúc ngữ nghĩa nhiều hơn những phương pháp khác.

Phương phápLớp quan sátĐộ nhạy chính
Bắt ghi lại vùng chứaLưới ký tự và trạng thái màn hìnhThay đổi hàng, cột, trường và điều hướng
Tự động hóa giao diện người dùngCây điều khiển hoặc cây truy cậpKiểm soát danh tính và phiên bản ứng dụng
Quét văn bản quang học (OCR)Pixel được hiển thịPhông chữ, tỷ lệ, độ tương phản, chất lượng hình ảnh, và ngôn ngữ
Hiển thị trình duyệtTrang được hiển thị và trạng thái tương tácDOM, tập lệnh, thời gian, khung nhìn, và trạng thái phiên

Từ Mainframe đến Tự động hóa Trình duyệt

Lấy dữ liệu từ màn hình trở nên quan trọng khi các tổ chức cần tích hợp các ứng dụng đầu cuối không có giao diện lập trình hiện đại. Phần mềm tự động hóa tái tạo các thao tác nhập, đọc các vùng cố định trên màn hình và chuyển giá trị vào các hệ thống mới hơn. Mô hình đó vẫn tồn tại trong các quy trình kinh doanh mà hệ thống cốt lõi của chúng tốn kém hoặc rủi ro để thay thế.

Các công cụ máy tính để bàn và trình duyệt hiện đại có thể sử dụng tín hiệu phong phú hơn so với tọa độ thô. Cây truy cập công khai các vai trò và tên; các nút DOM công khai văn bản và thuộc tính; nhật ký mạng của trình duyệt có thể tiết lộ các phản hồi có cấu trúc. Một quy trình làm việc cẩn thận sử dụng lớp có nghĩa được ủy quyền nhất có sẵn. Nhận dạng pixel vẫn là một phương án dự phòng cho nội dung canvas, máy tính để bàn từ xa, hình ảnh hoặc các ứng dụng không công khai cấu trúc khả dụng nào.

Lấy màn hình so với API

Một API là một hợp đồng hướng máy. Nó định danh các hoạt động và trường, xác định xác thực, trả về các phản hồi có cấu trúc, và thường tài liệu hóa các giới hạn và hành vi thay đổi. Screen scraping quan sát một giao diện con người có thể thay đổi vì lý do thiết kế không liên quan đến dữ liệu. Điều đó khiến một API thường nhanh hơn, rõ ràng hơn, và dễ xác thực hơn khi nó có sẵn và cấp quyền truy cập cần thiết.

Screen scraping vẫn có thể phù hợp khi một hệ thống cũ không có xuất khẩu, một quy trình làm việc được ủy quyền phải kết nối với một giao diện cũ, hoặc kết quả trực quan tự nó là bằng chứng đang được thu thập. Quyết định nên bao gồm chi phí bảo trì, hậu quả của lỗi, cách xử lý thông tin xác thực, nhu cầu kiểm toán, hỗ trợ của nhà cung cấp, và sự cho phép pháp lý thay vì chỉ tập trung vào tốc độ phát triển.

The Tổng quan về WAI-ARIA của W3C giải thích thông tin truy cập ngữ nghĩa được sử dụng bởi các công nghệ hỗ trợ. Đối với tự động hóa, cây truy cập có thể ổn định và có ý nghĩa hơn so với tọa độ, mặc dù không nên được coi là một API công khai không tài liệu.

Các Ứng Dụng Thông Dụng Của Screen Scraping

Tích hợp kế thừa

Một quy trình được ủy quyền đọc các trường terminal hoặc desktop và nhập kết quả vào một ứng dụng mới hơn khi không có kết nối hỗ trợ nào tồn tại.

Tự động hóa quy trình robot

Một bot thực hiện các bước giao diện lặp đi lặp lại trên các ứng dụng mà quy trình kinh doanh vẫn phụ thuộc vào các màn hình có thể nhìn thấy.

Đảm bảo chất lượng hình ảnh

Một bài kiểm tra ghi lại nhãn, giá trị hoặc ảnh chụp màn hình đã được kết xuất để xác minh những gì người dùng thực sự thấy chứ không chỉ những gì API trả về.

Trích xuất tài liệu và hình ảnh

OCR phục hồi văn bản từ báo cáo quét, phiên làm việc từ xa, biểu đồ hoặc giao diện không phơi bày văn bản có thể đọc máy.

Tại sao Lấy Dữ liệu Màn hình Bị Gián đoạn

Các lớp trình bày thường thay đổi. Một trường có thể di chuyển, một nhãn có thể được dịch, một cửa sổ có thể mở ra với kích thước khác, hoặc một trang đáp ứng có thể tự tổ chức lại. Một công cụ hái dữ liệu dựa trên tọa độ có thể đọc giá trị sai trong khi vẫn tạo ra đầu ra cú pháp hợp lệ. Dữ liệu sai âm thầm nguy hiểm hơn một sự cố tự động hóa rõ ràng.

Thời gian thêm một chiều khác. Một chế độ xem có thể tồn tại trước khi dữ liệu của nó tải xong, một hộp thoại có thể che một mục tiêu, hoặc một hoạt ảnh có thể thay đổi tọa độ. Nhận diện nên kiểm tra một trạng thái cụ thể và xác thực các giá trị được trích xuất thay vì chờ một khoảng thời gian tùy ý và giả định giao diện đã sẵn sàng.

WCAG 2.2 tài liệu yêu cầu truy cập đối với giao diện người dùng. Mặc dù nó không phải là một thông số kỹ thuật tự động hóa, nhưng tên gọi, vai trò và mối quan hệ có thể truy cập thường cung cấp cho tự động hóa được ủy quyền những điểm neo có ý nghĩa hơn chỉ dựa vào diện mạo hình ảnh.

Rủi ro Bảo mật và Thông tin Đăng nhập

Một số quy trình lấy dữ liệu màn hình yêu cầu một tài khoản người dùng, đặc biệt trong các ứng dụng tài chính hoặc doanh nghiệp. Thông tin đăng nhập được chia sẻ, quyền hạn rộng rãi, ghi âm phiên không kiểm soát và dữ liệu cá nhân bị sao chép tạo ra rủi ro đáng kể. Ưu tiên ủy quyền được phân phối và các giao diện chia sẻ dữ liệu được hỗ trợ khi có sẵn. Giới hạn bí mật vào một kho lưu trữ phù hợp, ghi lại hành động mà không ghi lại các giá trị nhạy cảm, và tách biệt phát triển với tài khoản sản xuất.

Các trang quy định quyền dữ liệu tài chính cá nhân của Cục Bảo vệ Tài chính Người tiêu dùng cung cấp ngữ cảnh chính thức cho quyền truy cập dữ liệu có thẩm quyền trong các dịch vụ tài chính. Lấy dữ liệu màn hình tài chính xứng đáng nhận sự xem xét pháp lý và bảo mật cụ thể cho lĩnh vực vì thông tin đăng nhập và các hồ sơ nhạy cảm cao có thể liên quan.

Kiểm soát Độ tin cậy

  • Sử dụng các điểm neo ngữ nghĩa trước tiên. Ưu tiên các kiểm soát được đặt tên, vai trò truy cập, mối quan hệ DOM hoặc các định danh trường đầu cuối hơn là tọa độ tuyệt đối.
  • Xác nhận trạng thái màn hình. Xác định ứng dụng, bản ghi, trang, khu vực địa lý và tín hiệu hoàn thành trước khi đọc giá trị.
  • Xác thực đầu ra. Kiểm tra loại, phạm vi, tính nhất quán giữa các trường, danh tính bản ghi và các trường bắt buộc trước khi công bố.
  • Chụp chứng cứ cẩn thận. Chỉ lưu ảnh chụp màn hình hoặc trạng thái thô khi cần thiết và bảo vệ bất kỳ thông tin cá nhân hoặc bí mật nào mà chúng chứa.
  • Phiên bản tự động hóa. Ràng buộc các quy tắc với các phiên bản ứng dụng và giữ lại các bài kiểm tra đại diện cho mỗi bố cục được hỗ trợ.
  • Cung cấp một con đường kiểm tra của con người. Các ngoại lệ có ảnh hưởng lớn nên dừng lại để kiểm tra thay vì bị ép vào các giá trị hợp lý.

Chọn một Lớp Trích xuất Tốt hơn

  1. Hỏi liệu một API, xuất khẩu, chế độ xem cơ sở dữ liệu, luồng sự kiện hoặc tệp báo cáo được ủy quyền có đáp ứng yêu cầu hay không.
  2. Nếu không, kiểm tra cấu trúc UI ngữ nghĩa và khả năng truy cập trước khi xem xét OCR hoặc tọa độ.
  3. Sử dụng trích xuất hình ảnh chỉ cho các thông tin thực sự chỉ tồn tại trong pixel hoặc hiển thị từ xa.
  4. Xác định hậu quả của một giá trị không chính xác và thêm xác thực tương ứng.
  5. Tài liệu quyền truy cập, thông tin đăng nhập, quyền sở hữu nguồn, giữ lại, và sử dụng sau.
  6. Ước lượng bảo trì dưới các thay đổi về bố cục, khu vực địa lý, chủ đề và phiên bản ứng dụng.

Lấy Dữ liệu Màn hình trên Web

Một quy trình làm việc trình duyệt đã được kết xuất ngồi giữa phân tích web có cấu trúc và thu thập hình ảnh thuần túy. Nó có thể tương tác với trang như người dùng trong khi vẫn đọc các phần tử DOM, thuộc tính và dữ liệu mạng. Điều đó thường cung cấp các trình chọn mạnh mẽ và giá trị sạch hơn so với OCR. Biểu đồ, hình ảnh và bề mặt máy tính từ xa đã kết xuất trên Canvas vẫn có thể yêu cầu các phương pháp hình ảnh.

Scrapeless Scraping Browser cung cấp một trình duyệt đám mây cho tự động hóa web công cộng. Logic trích xuất nên ưu tiên các nguồn ngữ nghĩa ổn định, bảo tồn ngữ cảnh URL và phiên, và xác thực danh tính bản ghi. Đánh giá Giá cả Scrapeless cùng với thời gian chạy trình duyệt và chi phí bảo trì dự kiến trước khi triển khai.

Danh sách Kiểm tra Hoạt động

Ghi lại ứng dụng mục tiêu, người dùng được phép, cơ sở quyền, phiên bản giao diện, kích thước viewport hoặc đầu cuối, khu vực địa lý, chủ đề, trạng thái mong đợi, điểm neo trường, quy tắc xác thực và chủ sở hữu ngoại lệ. Kiểm tra các giá trị trống, giá trị dài, nhãn đã dịch, hộp thoại bật lên, tải chậm, cửa sổ thay đổi kích thước, và thứ tự điều khiển thay đổi. Coi một sự trùng khớp hình ảnh như là chứng cứ để xác thực, không phải là bằng chứng rằng bản ghi nền tảng là chính xác.

Khi một giao diện được hỗ trợ sau đó trở nên khả dụng, đánh giá lại thiết kế. Lấy dữ liệu màn hình có thể là một cầu bền vững, nhưng một API hoặc xuất khẩu với các sơ đồ và ủy quyền rõ ràng có thể giảm thiểu rủi ro và chi phí lâu dài.

Kết luận

Lấy dữ liệu màn hình đọc dữ liệu từ một trình bày hướng tới con người thay vì một giao diện máy tính gốc. Nó trải dài từ việc thu thập đầu cuối, tự động hóa UI, kết xuất trình duyệt và OCR. Phương pháp này có giá trị cho các hệ thống kế thừa và chỉ hình ảnh, nhưng sự phụ thuộc vào trình bày làm cho xác thực, phiên bản, quyền truy cập, bảo mật thông tin đăng nhập và bảo trì thành những phần trung tâm của thiết kế.

Sẵn sàng để Tự động hóa Quy trình Web Được Render?

Sử dụng Trình Duyệt Lấy Dữ Liệu Không Rác cho các giao diện web công cộng và giữ các điểm neo ngữ nghĩa, xác thực và quản trị được rõ ràng.

Bắt đầu miễn phí →

Câu hỏi thường gặp

Lấy màn hình là gì theo cách đơn giản?

Lấy màn hình là việc đọc thông tin tự động từ một màn hình hoặc giao diện người dùng thay vì từ một giao diện dữ liệu được hỗ trợ. Nó có thể đọc các ô terminal, các điều khiển UI, văn bản web đã được render, hoặc pixel thông qua OCR.

Lấy màn hình có giống như lấy dữ liệu web không?

Không. Lấy dữ liệu web chỉ giới hạn ở các nguồn web và có thể đọc HTML hoặc dữ liệu mạng mà không cần dựa vào màn hình hiển thị. Lấy màn hình thì rộng hơn và có thể nhắm vào các terminal, ứng dụng desktop, phiên làm việc từ xa, hình ảnh và các trang đã được render.

Lấy màn hình có luôn sử dụng OCR không?

Không. OCR là một phương pháp cho nội dung chỉ pixel. Các trình lấy màn hình có thể thay vào đó đọc ký tự terminal, cây truy cập, các điều khiển desktop, hoặc các phần tử DOM của trình duyệt, thường giữ lại nhiều cấu trúc hơn.

Tại sao lấy màn hình lại mong manh?

Lấy màn hình phụ thuộc vào các chi tiết hiển thị như vị trí, nhãn, kích thước, thời gian, địa phương và chủ đề. Những chi tiết đó có thể thay đổi độc lập với dữ liệu dưới nền và có thể gây ra những đọc sai lầm âm thầm mà không có xác thực mạnh mẽ.

Lấy màn hình có hợp pháp không?

Tính hợp pháp phụ thuộc vào sự ủy quyền, các điều khoản nguồn, kiểm soát truy cập, quyền dữ liệu, quyền riêng tư, quyền tài phán, hành vi và việc sử dụng sau đó. Một giao diện công cộng không tạo ra sự cho phép chung, và các quy trình làm việc được xác thực cần phải được chăm sóc đặc biệt.

Khi nào nên ưu tiên API?

Ưu tiên một API được ủy quyền khi nó cung cấp dữ liệu cần thiết và các điều khoản chấp nhận được vì nó cung cấp các trường cấu trúc, xác thực rõ ràng, hành vi tài liệu, và quản lý thay đổi ổn định hơn so với một giao diện người.

Tài liệu tham khảo