网页抓取phantomjs有问题吗



我正试图使用phantom.js从网页中抓取html,但后来出现了这个奇怪的错误。当我运行一次脚本时,我得到了正确的响应,但当我再次尝试时,我没有得到任何响应。

它看起来像是永远在加载。我不想调用phantom.exit(),因为它会停止服务器。那么,我可能做错了什么?

var page = require('webpage').create(),
server = require('webserver').create();
var service = server.listen(8003, function (request, response) {
console.log('Request received at ' + new Date());
// TODO: parse `request` and determine where to go
page.open('https://www.sportpesa.co.ke/?sportId=1&league=76080&leagueName=la%20liga&top=0',function() {
setTimeout(function() {
var test = page.plainText
console.log(page.plainText);
response.write(page.plainText)
response.close();
page.close();
})
})
});

我认为您的问题是在第一次之后关闭页面,然后再次尝试重用它。根据文件,你不应该做这个

关闭页面并释放与其关联的内存堆。调用此操作后不要使用页面实例

尝试在每次请求时重新创建page对象,如下所示:

var webpage = require('webpage'),
server = require('webserver').create();
var service = server.listen(8003, function (request, response) {
console.log('Request received at ' + new Date());
let page = webpage.create()

// TODO: parse `request` and determine where to go
page.open('https://www.sportpesa.co.ke/?sportId=1&league=76080&leagueName=la%20liga&top=0',function() {
setTimeout(function() {
var test = page.plainText
console.log(page.plainText);
response.write(page.plainText)
response.close();
page.close();
})
})
});

相关内容

  • 没有找到相关文章

最新更新