Xin tư vấn của chuyên gia. Không thể crawler bằng curl

Discussion in 'AutoBlog' started by Thanh Nguyen, Apr 27, 2019.

  1. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    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
     
  2. thitgaluoc

    thitgaluoc Hương Chủ

    chắc nó chặn cả dải IP r
     
  3. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    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
     
  4. thitgaluoc

    thitgaluoc Hương Chủ

    ko có site nói khơi khơi thì bó tay
     
  5. Hoa Mãn Lâu

    Hoa Mãn Lâu Trưởng Môn

    Quăng cái site với code thím lên xem
     
  6. sincos

    sincos Bang Chúng

    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.
     
    Vito_King and Nai like this.
  7. grayhatvn

    grayhatvn Bang Chúng

    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é :D
     
  8. Nai

    Nai MiddleMan Staff Member

    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ộ
     
  9. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    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
     
  10. Thanh Nguyen

    Thanh Nguyen Bang Chú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 ạ
     
  11. EDM

    EDM Sơ Nhập Giang Hồ

    Đụ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ã..
     
  12. sincos

    sincos Bang Chúng

    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.
     
    console and Nai like this.
  13. console

    console Bang Chúng

    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 :D
     
  14. Dung Vuong

    Dung Vuong Sơ Nhập Giang Hồ

    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
     
    wpresources likes this.
  15. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    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õ
     
  16. Trần Trọng Bách

    Trần Trọng Bách Sơ Nhập Giang Hồ

    http://cafemmo.club/threads/thao-luan-crawl-similarweb-com.1787/
    bạn xem lại topic này nhé.