Web crawler là gì, cách bot công cụ tìm kiếm web crawler ra sao
Web crawler bao gồm công dụng lấy đọc tin tự website , trích xuất ra các thông tin người tiêu dùng nên, đôi khi cũng tra cứu phần nhiều links gồm vào trang web kia và tự động hóa truy vấn vào đầy đủ link đó.Các tên thường gọi không giống của crawler là robot, bot, spider, worm, ant. Nhưng vừa mới đây tên gọi crawler là thông dụng độc nhất.
Mô hình crawler đơn giản:
Chọn URL khởi đầuSử dụng HTML protocol để mang trang webTrích xuất ra các liên kết. Lưu lại vào queueLặp đi tái diễn bước 2,3
Cụ thể rộng, các module quan trọng đặc biệt của một crawler:
URL Frontier: cất danh sách các URl chưa được lấyFetch module lấy các trang webDNS resolution module xác định cửa hàng của hệ thống của website đã lấyParsing module trích xuất text và link tự trang web vẫn lấyDuplicate elimination module loại bỏ những URL trùng lặp
lấy một ví dụ minc họa về việc lấy báo cáo đơn vị đất từ trang http://nhadat24h.netCài đặt:
gem "mechanize"bundle installCrawl data:Khởi tạo đối tượng
agent = Mechanize.newLấy thông tin trang, trong trang này chúng ta vẫn có một list các công ty đang được phân phối với mang đến thuê:
page = agent.get "http://nhadat24h.net/ban-bat-dong-san-viet-nam-nha-dat-viet-nam-s686599" + "/#page_number"Để mang được biết tin từ từng page, họ cần có được kết cấu của trang:

crawled_page = Mechanize.new.get room_url#get price crawled_page.at("#ContentPlaceHolder2_lbGiaTien").try :text#get areacrawled_page.at("#ContentPlaceHolder2_lbDienTich").try :textLấy báo cáo chi tiết, bọn họ đã truy cập vào từng trang đã đưa sinh hoạt bên trên để lấy đọc tin chi tiết từng nhà:
room_url = "http://nhadat24h.net" + link.attributes<"href">.try :valuepage.search("#ContentPlaceHolder2_KetQuaTimKiem1_Pn1
Chụ ý:thường thì, bọn họ đang lưu trữ con số lớn lao biết tin sau thời điểm crawl, vậy để có tốc độ phát âm ghi cao, năng suất lớn cùng dễ dàng không ngừng mở rộng, chúng ta phải áp dụng MongoDB.Để xem thêm về MongoDB những bạn có thể xem thêm tại: https://gocnhintangphat.com/tags/mongodb
DemoDemo project về crawl thông báo nhà đất tự 2 trang http://www.muabannhadat.vn với http://nhadat24h.nethttps://github.com/otchoo/room_crawler/tree/develop