Xin chào, Có ae nào đã crawl được dữ liệu của thằng này chưa? Mình đang tò mò nó phát hiện crawler bằng cách nào? Crawler mình dùng User-Agent của các trình duyệt và ngẫu nhiên IP rồi, nhưng có vẽ như similarweb chỉ cho phép truy cập khi trình duyệt bật Javascript (mà crawler mình thì ko chạy được JS) nên nó chặn với mã 405. Các bạn có thể crawl thằng này ko? Có bạn nào từng dùng crawler kết hợp với 1 JS service như PhantomJS hoặc Splash hoặc công cụ tương tự chưa? Xin hãy tư vấn và chia sẻ, thanks. Đây là hình ảnh mã code 405 mà similarweb trả về:
https://api.similarweb.com/SimilarWebAddon/cafemmo.club/all?format=json vẫn xài thằng nầy xưa h khá tốt mà
Thanks @Hoa Mãn Lâu vaf @console, như console chia sẻ, API chỉ giải quyết một ít vấn đề crawl thằng này. Để crawl đa số data thằng này, chắc chắn cần danh sách các websites, từ đó, chúng ta lấy data của từng website. Ví dụ như crawler sẽ lấy danh sách websites từ https://www.similarweb_com/top-websites/category/beauty-and-fitness/beauty. Sau đó crawl từng websites và lấy từng categories và related sites để tiếp tục việc crawl. Việc này API của similarweb ko làm được. Mình chưa dùng Selenium bao giờ, cũng như PhantomJS và Splash, nên mình hỏi thử có bác nào đã dùng và chia sẻ các tools này hoặc tương tự để xử lý việc crawl các JS page
em đang dùng selenium, thực ra thì phantomjs là một cái headless browser thôi, selenium nó là module có thể điều khiển các loại headless này. em đang kết hợp selenium với chromedriver và geckodriver (firefox) cho hiệu quả khá tốt bản chất nó là browser nên render js nó cũng là cái điều bt thôi nhưng ăn ram kinh lắm
Mình thấy vài bài viết nói Selenium hỗ trợ nhiều nên khá cồng kề, trong khi mình chỉ cần nó render được JS là được và mình vừa crawl được site similarweb qua Splash (https://splash.readthedocs.io/en/stable/index.html ) rồi, cấu hình crawl 1 requests/s nhé. Hihi Tóm lại để crawl được similarweb hoặc bất kỳ trang nào chặn bot bởi JS thì bạn cần trọn bộ 3 thứ sau (nếu bạn ko đủ có 3 thứ này thì có lẽ vô vọng crawl thằng này nhé): - JS rendering service như Splash (mình dùng) hoặc Selenium hoặc công cụ tương tự. - 1 IP/request: dùng proxy rotation service - Random user agent Happy autoblog ^^
Bạn nào dùng ít nên dùng thằng này nó tính tiền theo request bạn nào craw site thôi thì nhẹ nhàng hơn reg theo link aff minh nhe
Bác console có chia sẻ rồi nhé, cụ thể mình dùng gói http://stormproxies. com/rotating_reverse_proxies.html
Bởi vì thằng similarweb khi vào trang chủ nó còn sử dụng js để khởi tạo 1 loạt các UID gắn chặt với trình duyệt nên curl trực tiếp nó la ko thể, phải lách