Chào các bác. Đợi vừa rồi e gặp vấn đề với mấy lô hàng FBA nên không có thời gian tham gia diễn đàn đc. Gần đây mới ổn chút quay lại auto web thì gặp phải thằng củ chuối này. Chả là e crawler 1 thằng. Trên local các kiểu thì chạy ngon ơ. Đến khi đưa lên server cho chạy thì chả ra cái mẹ gì. Debug các kiểu thì hóa ra thằng web kia nó có sử dụng chức năng DDOS Gateway nên toàn ra thông báo "Please activate browser cookies to view this site". E fake IP, cookie, agent các kiểu con đà điểu mà không ăn thua. Cụ nào có kinh nghiệm thông e phát. Xin cảm ơn
E đoán không phải chặn IP đâu cụ. Bt vào bằng trình duyệt lúc đầu thì nó cũng hiển thị cái pop to tướng bắt đồng ý với chính sách cookies của nó mới được view site. E đoán vướng ở bước này. Trên server không set đc cái cookie này. E bê nguyên cookie này ở trình duyệt gán vào curl mà không ăn thua
Fake ko tới nơi tới chốn thôi. Cookie ở local nó đã mã hóa cho local chứ đâu phải server. Tôi chỉ cần lấy ví dụ như này ví dụ IP line mạng nhà bạn là 171.250.206.100 Nó chỉ cần mã hóa chuỗi 171.250.0.0 ghi vào cookie rồi trên server nó validate lại thì fail ngay. Đây chỉ là 1 ví dụ đơn giản. Việc tạo ra 1 token từ nhiều info nó còn nhức đầu hơn nhiều. Bạn thử dùng 1 cái browser trên VPS rồi lấy cookie ứng với vps đó thử xem. Tuy nhiên nếu nó thay đổi liên tục thì cách này cũng không ổn. Bạn có thể dùng phantomjs để load, tuy nhiên phương pháp này nhược điểm là chậm vì nó giả lập y hệt browser.
thằng này chuyên gia hỏi kiểu vu vơ ném đá ém hàng, đéo có example url thì làm sao giúp dc =)), giờ crawl mà curl gặp mấy thằng chặn crawl thì ăn cứ nhé
Hỏi mà ko lộ là một nghệ thuật mà. Mà trường hợp này ko lộ thì giúp ko dc. He he trừ khi site tương tự mà ko sợ lộ
Cụ thù dai thật đấy. E muốn hỏi một vấn đề chung chung luôn chứ không phải 1 bài toán cụ thể. Nếu có người từng gặp vấn đề rồi thì e xin hướng giải quyết chứ không phải code chi tiết nên không cần thiết show site đâu cụ. Dù sao cũng cám ơn cụ vì cái vế sau nhé. Tiện đây nếu trước đây có gì hỗn cho e xin lỗi nhé. Cụ có thể bớt sân si đi cho nhẹ lòng
Site đây cụ https : //affiliate-program . amazon . com/ Cám ơn bác @sincos đúng là e lấy cookie local không dùng đc thật. E tìm đc cách giải quyết ở đây /stackoverflow .com /questions /7522149/php-curl-cookies-problem. Đã khắc phục được rồi. Tuy nhiên hiện tại e chỉ biết dùng mỗi curl để crawler nếu gặp những thằng bị chặn như @grayhatvn nói thì cũng không ổn lắm. Các cụ có thể suggest cho e công cụ hay ngôn ngữ nào giải quyết được vấn đề này không. Thanks ạ
Đụng tới đâu giải quyết tới đó thôi, không có công cụ hay ngôn ngữ nào giải quyết hết đâu bạn. Quan trọng là tư duy, chứ mang dao mổ trâu đi giết gà thì sao được! Các site khó bây giờ đều dùng token để xác minh user, mà để tạo token thì như cụ trên đã nói, còn biết làm sao tạo hay giải được thì đọc code js rồi giải mã..
Về cơ bản curl làm dc mọi thứ. Vấn đề nếu như trang web dùng js tạo token sâu và khó quá làm ta ko đủ kiên nhẫn mò để fake thì phải dùng nohead browser như đã nói.
Bác này giải thích đúng và đầy đủ này. Theo kinh nghiệm mình thì như bác ấy nói: curl làm được hết, chủ yếu kĩ thuật. Nếu không mình xài tới selenium grid. Nếu vẫn thấy tốc độ chậm thì mình pass, không crawl nữa mà đi kiếm cái khác làm. Crawl data chỉ là 1 phần nhỏ, nên mục tiêu là phải nhanh và nhiều. Nếu chỉ vì muốn data đó mà quá tốn thời gian thì không nên
Tìm xem cái trang đó có link trả về json k bác. Nếu có thì crawl thẳng link json cho lẹ. Curl giờ nhiều trang nó chặn k crawl dc. Phải dùng vài kĩ thuật khác mới ok
Cảm ơn các cụ tư vấn. Đúng là gặp site khó quá thì next luôn làm cái khác cho lẹ. Chứ đi crawler hên xui không biết lên hay không mà tốn time vào nó quá cũng không bõ