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
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
Bác hỏi trên nền gì mới là quan trọng.
Application hay Web Server
www.tnd.vn, Host Việt Nam tốc độ cao.
Mình cũng tìm hiểu cái này khá nhiều.
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
Hợp tác mua host giảm giá cho bạn
E nghĩ bác ko nên viết từ đầu 1 parser, người ta đã làm rất nhiều rồi, mình ko nên làm lại từ đầu những cái đã có quá tốt.
Để 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/
Hợp tác mua host giảm giá cho bạn
Bookmarks