10/10/2018, 13:26
Hỏi về thuật toán crawler website
Chào các bạn
Cho mình hỏi thuật toán làm 1 web crawler dữ liệu website như sau là thế nào?
Khi crawler trang web A, trên web A nếu có link web B thì qua crawler luôn web B. (Giống như Google vậy).
Thân
Cho mình hỏi thuật toán làm 1 web crawler dữ liệu website như sau là thế nào?
Khi crawler trang web A, trên web A nếu có link web B thì qua crawler luôn web B. (Giống như Google vậy).
Thân
Bài liên quan
Application hay Web Server
Quan trọng nhất trong việc crawl website là bạn phải parse được trang để lấy được link tiếp theo đưa vào hàng đợi.
Để crawl toàn bộ web thì dùng hàng đợi thôi, first in first out, khi quét đc 1 page thì sẽ parse page đó để lấy link, kiểm tra trong hàng đợi đã có link đó chưa, nếu chưa có thì push vào.
Về thuật toán cơ bản là như thế.
Về công cụ: nếu bạn muốn làm để dùng, thì có sẵn 1 số công cụ opensource crawler, bạn cứ google "open source crawler" và lựa chọn 1 cái phù hợp để dùng
-Nếu bạn muốn tự lập trình, thì nên sử dụng 1 library hỗ trợ parse content để lấy link, mình giới thiệu 1 lib opensouce làm rất tốt điều này là jsoup. Còn việc xử lý lấy dữ liệu và hàng đợi là bạn phải lập trình.
Có gì ủng hộ site mình nhé: http://hostnaotot.com
Để làm việc: bác nên tham khảo jsoup, nó sẽ tự động parse link ra cho bác.
Để học tập: bác có thể đọc source jsoup để xem cơ chế parse theo CSS path của nó là như thế nào, có điều mã nguồn nó hơi bị to nhé.
Với php, bác có thể tham khảo thằng này: http://simplehtmldom.sourceforge.net/