Я пытаюсь использовать PhantomJS
для получения данных с такого сайта:
app.get('/scrape', function(req, res) {
var _ph, _page;
phantom.create()
.then(function (ph) {
_ph = ph;
return ph.createPage();
})
.then(function (page) {
_page = page;
var url = "https://banc.nl/";
return page.open(url);
})
.then(function(page) {
page.includeJs('http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js', function() {
page.evaluate(function() {
$('.sc-dnqmqq kaMmif').filter(function () {
var data = $(this);
price = data.children().first().text();
console.log("Price: " + price);
});
});
});
})
.catch(function(err) {
console.log("Error: " , err);
_page.close();
//_ph.exit();
});
});
Проблема в том, что я получаю следующую ошибку: Error: TypeError: page.includeJs is not a function
Если я раскомментирую ph.exit()
, я также получу предупреждение: warn: exit() was called before waiting for commands to finish. Make sure you are not calling exit() prematurely.
Я нашел несколько вопросов по этому поводу в SO, но ни один из ответов не решил мою проблему.