Lấy dữ liệu của site bảo vệ bởi CloudFlare

Discussion in 'Hỏi Đáp Kỹ Thuật' started by command, Dec 2, 2020.

  1. command

    command Bang Chúng

    Thanks @Cái bang , mình thường truyền tham số dict của cookie vào requests của Python cho tiện :)

    @thitgaluoc mình đang dùng cách này, trong hình mình chụp ở trên, tại bước 5, CloudProxy trả về mảng chứa các dict của cookie bypass CF, và mình chưa biết dùng cái nào trong tham số trả về cookie của CloudProxy mà bạn @firefox đã giới thiệu ở trên.
     
  2. Ak1974

    Ak1974 Sơ Nhập Giang Hồ

    bạn dùng thử Web Scraper xem. nó load web lên xong mới cào dữ liệu. phải treo máy hơi lâu à.
     
  3. command

    command Bang Chúng

    Thanks @Ak1974, nhưng sản phẩm webscraper ko hỗ trợ coder nhiều tính năng như ae ở trên cùng thảo luận á.
     
  4. firefox

    firefox Bang Chúng

    Cách của bác cái bang chuẩn hơn đấy bác, nó cover được việc server set lại cookie ở các hàm đại loại như login, logout...
    --- Double Post Merged, Dec 9, 2020, Original Post Date: Dec 9, 2020 ---
    Làm vòng for rồi hết luôn bác, đỡ đau đầu. Cơ mà e thấy cái list đấy chưa có cookie của cf thì phải, nhiều quá nhìn ko rõ :D
     
  5. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Lót dép hóng. :D
     
  6. command

    command Bang Chúng

    Mình ko hiểu sao CloudProxy trả về đóng cookies gồm mảng chứa 8 dict như trên, for trong trường hợp này ko được bạn, vì key ở 8 dict đó giống nhau mà.

    Nhưng mà mình mò ra vụ khác, site mình muốn crawl có vẻ như CF lúc nào cũng check JS thì phải, nên dù có dùng cookie cũ cũng ko bypass được, tóm lại là phải hỗ trợ JS thì mới vượt qua và nó giới hạn số lượng truy cập. Đã thử nhiều proxies + JS thì bypass êm đẹp, kiểu này hơi hao proxies và căng chỉnh requests/s phù hợp với số lượng proxies.

    Qua vụ này, mình nghĩ mình phải học NodeJS, vì lúc thì Python + NodeJS service thì sẽ làm chậm hơn tốc độ xử lý và thấy thư viện NodeJS rất phong phú cho scrape mà Python chưa hỗ trợ như Puppeteer chẳng hạn. Các bạn giới thiệu crawler framework nào của NodeJS êm êm với, mình lướt qua sơ bộ thì thấy có thư viện https://github.com/apify/apify-js có vẻ ngon, ngoài ra còn crawler framework nào khác tuyệt hơn ko các pác?
     
  7. catd3vjl

    catd3vjl Khách Qua Đường

  8. Tusupper

    Tusupper Tân Thủ Thôn

    Cái này là ko chính thức bác ạ, với lại tác giả cũng tạm dừng lại rồi , ko còn phát triển nữa
     
  9. thitgaluoc

    thitgaluoc Hương Chủ

    đâu nhỉ, vẫn active mà
    upload_2020-12-11_14-45-9.png
     
  10. command

    command Bang Chúng

    Có thời gian tác giả github đó đã archived package này, có vẻ mới mở lại hay sao á, lúc trước mình đã thấy archived và ngay lúc @Tusupper nói mình cũng đã kiểm tra và đúng là lúc đó archived :)
     
  11. thitgaluoc

    thitgaluoc Hương Chủ

    cái này tác giả ban đầu (miyakogi) ngưng phát triển nên có ông khác nhảy vào phát triển tiếp mà :D
    mà thôi k quan trọng, cái này xài cũng được nhưng k hỗ trợ đầy dủ các tính năng của puppetter
     
  12. nguyenphongmmo2001

    nguyenphongmmo2001 Khách Qua Đường

    Các bác cho e hỏi puppetter và selenium chrome headless khác nhau chỗ nào. puppetter có đỡ tốn RAM hơn ko?
     
  13. sincos

    sincos Bang Chúng

    2 cái đều là 2 thư viện điều khiển browser... Nhưng puppeteer mạnh mẽ hơn..... và cả 2 cái đều nặng{beat_shot}
     
    nguyenphongmmo2001 likes this.
  14. firefox

    firefox Bang Chúng

    Đúng như bác xmen đã nói, cả 2 đều nặng, nhưng thằng puppetter trong vài trường hợp nó nhẹ hơn một chút. Và đặc biệt là nó có khá nhiều plugin hay cho ae cào, ví dụ như extra steath
     
    nguyenphongmmo2001 likes this.
  15. Oreo

    Oreo Khách Qua Đường

    làm cách nào để get cookie mới vậy bác. Mong bác chỉ giáo
     
  16. manguyen1990

    manguyen1990 Khách Qua Đường

    Vote puppeteer, cũng không tốn RAM lắm đâu, nếu RAM ít chút thì setup thêm swap là được, đang dùng con vps $6 DO (1Gb RAM, 1 core CPU), ubuntu mở khoảng 5 page đồng thời chạy vẫn ok