- Scraping video: đưa video quay màn hình vào mô hình Google Gemini để chuyển thành dữ liệu có cấu trúc
- Sử dụng mô hình hình ảnh: dùng Gemini, GPT-4o, Claude 3.7... để trích xuất dữ liệu từ hình ảnh và PDF không có cấu trúc
- Tận dụng các thư viện hiện đại như Playwright: thực hiện tự động hóa trình duyệt, tích hợp cùng các mô hình phân tích video/hình ảnh để sử dụng
- Workshop tương tác kéo dài 1 giờ do Simon Willison trình bày tại NICAR 2025, hội nghị về báo chí dữ liệu
Cấu trúc workshop
1. Git scraping
- Git scraper là gì?
- Có thể dùng GitHub Actions để scraping website hoặc tài nguyên theo định kỳ và ghi lại các thay đổi
- Có thể sao chép từ template repo trong GitHub repository rồi cấu hình dễ dàng
- Chỉ cần nhập URL website cụ thể hoặc URL tệp JSON là có thể tự động chạy hằng ngày
- Có thể tạo RSS feed bằng cách thêm
.atom vào URL trang commit của repository
- Có thể theo dõi thay đổi của website theo thời gian thực thông qua trình đọc RSS
2. Scraping JavaScript trong trình duyệt
- Với các website phức tạp, chỉ phân tích HTML đơn thuần thì khó trích xuất dữ liệu
- Có thể scraping sau khi trang được tải trong trình duyệt thực rồi dùng JavaScript
- Trích xuất dữ liệu bảng: có thể dùng JavaScript trong công cụ dành cho nhà phát triển của trình duyệt để chuyển dữ liệu bảng sang JSON
- Xử lý trang cuộn vô hạn: có thể dùng JavaScript để tự động thu thập nội dung được thêm liên tục trên trang
- Tự động hóa với shot-scraper:
- Có thể chụp screenshot toàn bộ trang web bằng lệnh cụ thể
- Có thể chạy mã JavaScript rồi xuất dữ liệu ở định dạng JSON
3. Trích xuất dữ liệu có cấu trúc bằng LLM
- Có thể dùng LLM (Large Language Model) để chuyển dữ liệu phi cấu trúc thành dữ liệu có cấu trúc
- Cần API key của OpenAI và Google Gemini
- Có thể chạy trong Codespaces hoặc môi trường Python cục bộ
- Trích xuất dữ liệu bằng schema
- Schema là cách định nghĩa định dạng dữ liệu mà LLM sẽ trả về
- Ví dụ có thể định nghĩa tiêu đề, URL, ngày tháng... trong schema để trích xuất dữ liệu theo định dạng nhất quán
- Khi scraping dữ liệu từ webpage, có thể xuất ra dựa trên schema
- Tính chi phí và chọn mô hình
- Mỗi mô hình phát sinh chi phí theo số lượng token đầu vào và đầu ra
- Mô hình GPT-4o mini rẻ nhưng các mô hình khác có thể tốn kém
- Ví dụ, mô hình GPT-4.5 có thể tạo chi phí cao hơn rất nhiều cho cùng một tác vụ
- Mô hình Gemini tương đối rẻ và cung cấp nhiều lựa chọn
- Trích xuất dữ liệu từ PDF
- Có thể trích xuất dữ liệu từ các tài liệu PDF như FEMA Daily Operations Briefing
- Mô hình Gemini có thể nhận tệp PDF làm đầu vào và xuất ra JSON có cấu trúc
- Có thể trích xuất bảng hoặc văn bản cụ thể từ PDF
- Trích xuất dữ liệu từ hình ảnh
- GPT-4o có thể trích xuất dữ liệu từ hình ảnh
- Có thể đưa screenshot vào mô hình để xuất dữ liệu có cấu trúc
- Mẹo chọn mô hình
- Mô hình Gemini 2.0 Pro miễn phí nhưng có giới hạn tốc độ nghiêm ngặt
- Cần thử nhiều mô hình rồi chọn dựa trên hiệu năng và chi phí
- Tùy đặc tính webpage, shot-scraper có thể hữu ích hơn LLM
- Thách thức khi xử lý dữ liệu phức tạp
- Khi trích xuất dữ liệu từ infographic hoặc bản đồ phức tạp, hiệu năng giữa các mô hình có thể khác nhau
- Cần thử nhiều mô hình để chọn mô hình cho hiệu quả tối ưu
4. Scraping video bằng Google AI Studio
- Scraping video là một phương pháp mạnh mẽ để trích xuất dữ liệu từ các website khó scraping theo cách thông thường
- Mô hình Google Gemini có thể nhận đầu vào là video và chuyển thành dữ liệu có cấu trúc ở định dạng JSON
- Có thể quay màn hình rồi đưa video đó vào mô hình AI để trích xuất dữ liệu
- Quy trình scraping video
- Di chuyển đến phần trên website có chứa dữ liệu mong muốn
- Chạy công cụ quay màn hình, ví dụ QuickTime Player
- Duyệt website → tạm dừng ở những phần quan trọng
- Tải video đã quay lên Google AI Studio
- Viết prompt cho mô hình trong AI Studio và trích xuất dữ liệu
- Có thể dùng công cụ trích xuất schema để cấu trúc dữ liệu ở dạng JSON
- Ưu điểm của scraping video
- Có thể обходить cấu trúc website phức tạp
- Hữu ích với các trang cần render JavaScript
- Có thể trích xuất nhiều loại dữ liệu trên trang như văn bản, bảng, hình ảnh...
- Lưu ý
- Hầu hết tính năng do AI Studio cung cấp là miễn phí, nhưng dữ liệu đầu vào có thể được dùng cho huấn luyện
- Không nên nhập dữ liệu quan trọng về bảo mật
- Với website phức tạp, scraping video có thể hiệu quả hơn các kỹ thuật scraping khác
- Tùy chọn streaming thời gian thực
- Có thể trích xuất dữ liệu theo thời gian thực bằng tùy chọn Stream Realtime của AI Studio
- Có thể hiệu quả ngay cả với nội dung động khó scraping
- Ứng dụng trong newsroom
- Hữu ích cho việc trích xuất dữ liệu phức tạp và tự động hóa trong newsroom
- Có thể thử nghiệm hiệu năng và độ chính xác của mô hình Gemini để tìm ra phương án tối ưu
- Có thể tiếp tục cộng tác và nhận phản hồi sau workshop
Công cụ và tài liệu bổ sung
3 bình luận
Hừm.. dùng GitHub Actions thì có vẻ sẽ vi phạm chính sách của GitHub.
Giá mà cũng có bản cho Android thì tuyệt.
Nếu có tính năng né tránh chống macro thì có vẻ sẽ trở thành người chiến thắng của thị trường.