Bộ lọc kết quả
Trong A-Parser, có khả năng lọc kết quả theo một tập hợp các quy tắc nhất định và chỉ lưu vào kết quả những dữ liệu cần thiết.
Sử dụng lọc
Các trường hợp ứng dụng chính:
- Chỉ lưu các liên kết có chứa một chuỗi ký tự nhất định (ví dụ: dấu hiệu của CMS)
- Lọc danh sách tên miền theo các thông số nhất định (ví dụ: Yandex TIC từ 300, ngôn ngữ RU)
- Kiểm tra phản hồi từ máy chủ (ví dụ: 200 OK hoặc nội dung của các tiêu đề cụ thể)
- Kiểm tra sự hiện diện của truy vấn gốc trong đoạn trích (snippet)
- Bất kỳ trường hợp ứng dụng nào khác cần giới hạn kết quả theo các điều kiện nhất định
Có thể thêm các bộ lọc trong Trình chỉnh sửa tác vụ bằng cách nhấp vào biểu tượng công cụ đối diện với công cụ cào dữ liệu tương ứng:

Các loại lọc
Có thể lọc cả kết quả đơn lẻ và mảng kết quả. Có một số loại bộ lọc:
- Theo sự bằng nhau hoặc không bằng nhau của các chuỗi
- Theo sự hiện diện hoặc vắng mặt của chuỗi con
- Theo sự phù hợp hoặc không phù hợp với biểu thức chính quy
- Các giá trị số có thể được lọc theo lớn hơn, nhỏ hơn và bằng nhau
Xem thêm: Hiển thị kết quả
Đặc điểm hoạt động
- Khi lọc các mảng kết quả, trong mảng chỉ còn lại các kết quả khớp với bộ lọc
- Khi lọc các kết quả đơn giản, nếu kết quả không khớp với bộ lọc, thì toàn bộ kết quả cho truy vấn đó sẽ bị bỏ qua, bao gồm cả khi sử dụng nhiều công cụ cào dữ liệu
- Khi sử dụng từ hai bộ lọc trở lên trong một tác vụ, logic VÀ sẽ được áp dụng giữa chúng, nói cách khác kết quả sẽ được lưu nếu nó khớp với điều kiện của tất cả các bộ lọc cùng một lúc
- Khi so sánh trong trường chỉ định giá trị (chuỗi, biểu thức chính quy hoặc giá trị số), có thể sử dụng công cụ tạo mẫu Template Toolkit, tất cả các biến tương tự như trong Định dạng kết quả chung đều có sẵn
Ví dụ
Lọc theo văn bản trên trang
Kiểm tra danh sách trang web để tìm văn bản cụ thể trên trang
Sử dụng tệp chứa các liên kết làm truy vấn, kết quả nhận được là một tệp đã lọc chứa các liên kết có xuất hiện văn bản cần tìm.
Sử dụng công cụ cào dữ liệu
Net::HTTP để tải trang cần tìm, lưu truy vấn (liên kết mà chúng ta kiểm tra) vào kết quả. Lọc kết quả $data - nội dung của trang đã tải xuống, đặt loại bộ lọc Contain string và chỉ định chính chuỗi đó:

Lọc hình ảnh theo kích thước
Lọc hình ảnh theo độ phân giải
Lọc chiều cao và chiều rộng của hình ảnh khi cào dữ liệu qua
SE::Google::Images, chỉ lưu những hình ảnh lớn hơn 500x500 pixel:

Lọc theo nhiều dấu hiệu
Lọc liên kết theo sự hiện diện của bất kỳ chuỗi nào trong số nhiều chuỗi khác nhau
Để lọc liên kết theo nhiều chuỗi khác nhau, chúng ta sẽ sử dụng khả năng chỉ định biểu thức chính quy, bằng cách viết nhiều dấu hiệu cách nhau bởi dấu phân cách:
showthread\.php
/forum/
viewtopic\.php\?t=
Lưu ý rằng các biểu thức chính quy yêu cầu thoát (escape) một số ký tự

Sử dụng truy vấn trong bộ lọc
Lưu các đoạn trích Google có chứa truy vấn gốc
Trong trường chuỗi để so sánh, hãy chỉ định rõ ràng [% query %] - biến chứa truy vấn, chọn Sensitive để tìm kiếm chuỗi con có tính đến định dạng chữ cái:
