Tôi đang tìm nạp các trang có cURL bằng PHP. Mọi thứ đều hoạt động tốt, nhưng tôi đang tìm nạp một số phần của trang được tính bằng JavaScript một phần sau khi trang được tải. cURL đã gửi nguồn của trang trở lại tập lệnh PHP của tôi trước khi tính toán JavaScript được thực hiện, do đó dẫn đến kết quả cuối cùng sai. Các tính toán trên trang web được tìm nạp bởi AJAX, vì vậy tôi không thể sao chép tính toán đó một cách dễ dàng. Ngoài ra tôi không có quyền truy cập vào mã của trang đích, vì vậy tôi không thể tinh chỉnh trang đích đó để phù hợp với nhu cầu tìm nạp (cURL) của tôi.Có cách nào để cho phép cURL đợi cho đến khi các cập nhật động của trang được thực hiện?
Có cách nào tôi có thể yêu cầu cURL đợi cho đến khi tất cả lưu lượng truy cập động được hoàn tất không? Nó có thể là khó khăn, do một số JavaScripts được tiếp tục gửi dữ liệu trở lại một tên miền khác có thể dẫn đến treo lâu. Nhưng ít nhất tôi có thể kiểm tra sau đó nếu tôi ít nhất có được kết quả chính xác trở lại.
Thanh công cụ dành cho nhà phát triển của tôi trong Safari cho biết trang được thực hiện trong khoảng 1,57 giây. Có lẽ tôi có thể nói cURL tĩnh để chờ 2 giây nữa?
Tôi tự hỏi khả năng là gì :)
May mắn thay, đó chỉ là một đoạn mã nhỏ. Tôi sẽ viết lại mã trong JavaScript và tìm nạp dữ liệu với jQuery và PhantomJS sau đó. Cảm ơn bạn :) –
Có cách nào để bao gồm PhantomJS chỉ rõ ràng trong trang HTML địa phương của tôi, nơi tôi làm jQuery của tôi? –
Không. Phantom.js sử dụng trình duyệt webkit thực bên trong, mà bạn không thể thực hiện trên máy khách. –