1 điểm bởi nsjokt 4 giờ trước | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Trong lúc tạo crawler nhiều lần, luôn có một điều khiến tôi vướng mắc. Phần lớn công cụ chỉ cào một lần rồi xong, nên với thứ thực sự muốn biết là 'so với hôm qua đã khác gì' (giảm giá, sản phẩm mới, thay đổi thứ hạng, thay đổi đánh giá), lần nào cũng phải tự vào lại để so sánh.

web_harvester tập trung vào việc cứ để chạy liên tục rồi thông báo chính những 'thay đổi' đó. Vì cùng một mục được tích lũy theo ngày vào Google Sheets/CSV/Excel/SQL, nên không chỉ có một dòng dữ liệu mà còn lưu lại xu hướng. Và khi xuất hiện thay đổi có ý nghĩa, thông báo sẽ tới ngay qua webhook Slack/Discord hoặc email. Chu kỳ thu thập có thể tự thiết lập, và mặc định được đặt ở tần suất thấp.

Tôi cũng chú ý đến phía no-code. Tính năng tự động khám phá trường sẽ tìm và hiển thị các giá trị ứng viên trên trang (tên, giá, v.v.), chỉ cần tích chọn là được ánh xạ nên không cần viết mã.

Về mặt kỹ thuật, phần thú vị nhất là engine recon. Trang này có JSON-LD không, mọi thứ có nằm trong __NEXT_DATA__ không, hay cuối cùng vẫn phải cào DOM — tôi đã quá mệt vì lần nào cũng phải mở DevTools để kiểm tra thủ công, nên thử chuyển việc phán đoán đó thành mã. Chỉ cần nhận một trang mẫu, nó sẽ tự động chẩn đoán bằng 5 chế độ (JSON-LD · biến window (__NEXT_DATA__ v.v.) · lặp DOM · Google af-data/af-one) để chọn ra đường trích xuất rẻ nhất và ít bị vỡ hơn khi UI thay đổi. Với các trang SSR hoặc trang có JSON được nhúng sẵn trong tài liệu, nó xử lý nhẹ ở phía máy chủ; còn với trang động hoặc trang cần đăng nhập, nó dùng chính phiên Chrome của người dùng (trình duyệt thật) rồi chạy cùng mã trích xuất đó. Phần lõi trích xuất (ánh xạ trường, chuyển đổi kiểu, trích xuất item) được cố định bằng unit test offline nên bớt đáng sợ hơn khi refactor.

Nguyên tắc thiết kế đã được xác định rõ ngay từ đầu: dữ liệu công khai · quyền truy cập/phiên của chính mình · tần suất thấp · tôn trọng robots. Không vượt captcha hay proxy.

Hình thức là hybrid giữa tiện ích Chrome MV3 và CLI Python. Tôi đang tự làm và tự vận hành một mình nên chắc vẫn còn những chỗ thô ráp; nếu bạn dùng thử và góp ý như 'sẽ tốt hơn nếu có thêm kết quả chẩn đoán recon kiểu này hoặc thông báo thay đổi kiểu kia' thì tôi thật sự rất cảm kích.

Cài miễn phí (Chrome Web Store) để trải nghiệm ngay — thu thập, khám phá trường và xuất CSV/Sheets là miễn phí (Basic): https://chromewebstore.google.com/detail/…
Lập lịch tự động và thông báo thay đổi là Pro (mua một lần, tự động áp dụng ưu đãi ra mắt 20%): https://joktnova.gumroad.com/l/figvr/LAUNCH20

Dữ liệu công khai · quyền của chính mình · tần suất thấp · tôn trọng robots · không vượt captcha/proxy.

Chưa có bình luận nào.

Chưa có bình luận nào.