[Hỏi] về hàm wait() trong nightmare



  • Xin chào các bạn, có bạn nào dùng nightmare để bóc tách dữ liệu website rồi cho mình hỏi vấn đề này ạ:

    1. [CÂU HỎI CHÍNH] Với 1 trang web dùng jquery để đổ dữ liệu, làm thế nào để xác định thời điểm toàn bộ dữ liệu được trả về đầy đủ trên trang, nếu lượng dữ liệu mỗi lần trả về(vd số lượng kết quả trả về) không cố định ?
    2. Trong nightmare có hàm wait(selector) để đợi, tuy nhiên trường hợp của mình, số lượng kết quả không cố định mỗi lần tìm kiếm nên không thể định trước 1 id nào chính xác (id có đặc điểm là tăng dần từ 1 -> hết)
    3. Hiện tại mình đang dùng wait(ms), tuy nhiên nhược điểm là dữ liệu lấy về lúc thì đầy đủ (nếu sau ms giây trang load xong) lúc thì thiếu (sau ms giây mà vẫn chưa load hết) không tin tưởng được cái hàm hên xui này =))
    4. Sau khi wait(ms) thì mình dùng .evaluate() để thực hiện các lệnh lấy dữ liệu. Khi search trên mạng thì thấy nó bảo evaluate() đợi đến khi trang load xong ('did-finish-load') mới thực hiện lệnh, tuy nhiên khi mình chạy thì ko thấy như vậy,

    Xin nhờ các cao thủ giải thích dùm và hướng dẫn thêm ạ. :D



  • nên dùng casperjs để giải quyết các vấn đề trên của bạn.


Log in to reply