Digikey изменил свой веб-сайт и теперь имеет javascript, который вызывается по почте. Это убило мою бывшую простую программу извлечения кода java HTML. Я пытаюсь использовать PhantomJS, чтобы разрешить выполнение javascript перед сохранением HTML / текста.
var page = new WebPage(),
t, address;
var fs = require('fs');
if (phantom.args.length === 0) {
console.log('Usage: save.js ');
phantom.exit();
} else {
address = encodeURI(phantom.args[0]);
page.open(address, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address');
} else {
f = null;
var markup = page.content;
console.log(markup);
try {
f = fs.open('htmlcode.txt', "w");
f.write(markup);
f.close();
} catch (e) {
console.log(e);
}
}
phantom.exit();
});
}
Этот код работает с большинством веб-страниц, но не работает на:
http://search.digikey.com/scripts/dksearch/dksus.dll?keywords=S7072-ND
Это мой тестовый пример. Не удается открыть URL-адрес, а затем происходит сбой PhantomJS. Использование статической сборки win32 1.3.
Есть какие-нибудь советы?
В основном то, что мне нужно, это wget, который выполняет рендеринг страницы, и сценарии, которые изменяют документ перед сохранением файла.