Kiến trúc web crawler
(velog.io)-
Những web crawler được giới thiệu rất nhiều trên Internet từ trước đến nay phần lớn thực ra là 'scraper', nên khó gọi đúng là crawler
-
Tác giả đang giới thiệu ngắn gọn các bài báo định nghĩa về web crawler
-
Crawler là ứng dụng thực hiện BFS, DFS trong thế giới Internet.
-
Robot rules là một vấn đề rất quan trọng, đến mức có thể quyết định hình ảnh của công ty, nhưng vẫn có nhiều startup không biết điều này.
4 bình luận
Năm ngoái khi đọc bài của người này, tôi đã nghĩ sao lại nhìn đời lệch lạc đến thế, không biết giờ có phải đỡ hơn một chút rồi không.
Nếu xét thực tế mà nói, trừ khi là những người ở các tập đoàn lớn trực tiếp vận hành công cụ tìm kiếm...
Ngay cả khi dùng crawler, trong lĩnh vực text mining nếu không phải tiếng Anh thì chi phí tiền xử lý rất lớn, nên với kiểu crawler như vậy cũng khó mà rút ra dữ liệu chất lượng cao; còn ở lĩnh vực xử lý ảnh thì dataset chất lượng tốt vốn đã đầy rẫy, nên chẳng có lý do gì phải cố vận hành crawler. Không phải ngẫu nhiên mà dù có lý thuyết hay như vậy, scraper vẫn tràn lan. Chỉ đơn giản là giá trị thu được sau khi vất vả làm ra quá thấp.
Cái gọi là crawler hoàn chỉnh mà người đó nói đến, dù lý thuyết có thể hay, rốt cuộc cũng chỉ là việc trích xuất dữ liệu với xác suất cao hơn đôi chút, nên rất khó dùng cho AI hay các lĩnh vực kiểu này dạo gần đây, đúng kiểu món gân gà bỏ thì tiếc mà ăn thì vô vị. Chi phí duy trì cũng không rẻ, dữ liệu trích xuất ra cũng không hoàn chỉnh, quản lý thì khó, lại còn nhiều vấn đề pháp lý. Thay vì cá nhân hay doanh nghiệp phải cân nhắc đến tận những chuyện đó, thì chỉ cần chạy vài scraper trên các trang lớn lại kinh tế hơn. Một scraper cho trang lớn được phân tích kỹ và xây dựng bài bản sẽ kinh tế và tiện hơn hàng trăm, hàng nghìn lần so với việc lặn lội qua 10.000 website vô dụng. Muốn vận hành một crawler thật rộng và thật “tốt” thì ngay cả khi có các thạc sĩ, tiến sĩ cùng bám vào cũng vẫn rất khó. Nếu còn phải giám sát crawler rồi sửa cả logic thì còn kinh khủng hơn nữa. Chỉ riêng log thôi chắc cũng đã khổng lồ, đến mức ngay cả phần đó cũng phải xử lý phân tán.
Tất nhiên, tôi hoàn toàn đồng ý rằng crawler là nền tảng cốt lõi và rất quan trọng, nhưng tôi vẫn nghĩ liệu có cần phải suốt cả năm cứ chia đẳng cấp giữa scraper và crawler để nói về điều đó hay không.
Đến giờ nhìn lại tôi vẫn không hiểu vì sao người đó lại coi thường Scrapy. Ít nhất thì từ tùy chọn đến extension, nó cũng nhiều hơn hẳn gocolly đấy chứ.
Tùy góc nhìn của mỗi người thôi, nhưng tôi cũng là người làm trong một đội thu thập big data, nên xin để lại vài ý kiến thiển cận của mình.
Tôi đồng ý.
Có vẻ vì đây vẫn là một bài viết chưa hoàn thiện nên có vài chỗ trông như đang thiếu những nội dung lẽ ra phải có.
"[Lambda Crawl]" được nhắc đến ở phần lập lịch tái truy cập ở giữa bài có phải là bài báo Effective Page Refresh Policies For Web Crawlers không? Khi tìm với từ khóa này thì chỉ thấy đầy những câu chuyện kiểu dùng Lambda, dịch vụ serverless của AWS, để crawl mà thôi. Trong khi đó, dường như bài báo này lại không xuất hiện trong danh sách tài liệu tham khảo bên dưới…
http://ilpubs.stanford.edu:8090/604/1/2003-44.pdf
Có vẻ bài luận văn này có nhắc đến Tractable near-optimal policies for crawling.