gpt4 book ai didi

javascript - 如何使用 PhantomJS 动态抓取 "changing"数据?

转载 作者:行者123 更新时间:2023-11-29 21:00:38 24 4
gpt4 key购买 nike

var page = require("webpage").create();
page.open("http://yourwebsite", function(status) {
console.log("Status: " + status);
if(status === "success") {
page.evaluate(function(){
document.getElementById("firstName").value = "John";
document.getElementById("lastName").value = "Doe";

});
}
phantom.exit();
});

因此,当使用 phantomjs 对脚本不断更新的数据进行网络抓取时,例如分数或股票价格。您将如何创建持久的打开浏览器状态来收集此数据,而不必使用 setInterval/Timeout 来调用 page.open("http://yourwebsite", function(status) { } 在一个循环中?

在 phantonjs 中是否有一个 api 调用实际上在 headless 状态下像真正的浏览器一样执行?还是我只是重新加载页面并从每次重新加载中读取静态数据?

最佳答案

您不必重新打开页面,最多您需要手动跟踪 setInterval() 调用的状态以确定何时退出:

var page = require("webpage").create();

page.open("http://yourwebsite", function(status) {
console.log("Status: " + status);

if(status === "success") {
var count = 0;
setInterval(function() {
if (count++ === 5) {
//You will need to figure out when to exit!!!!
phantom.exit();
}
page.evaluate(function(){
document.getElementById("firstName").value = "John";
document.getElementById("lastName").value = "Doe";
});
}, 5000/*5 SECONDS*/);
} else {
phantom.exit(1);
}
});

关于javascript - 如何使用 PhantomJS 动态抓取 "changing"数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46657844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com