好了,只是爲了完整起見,這裏是我現在使用的代碼:
PHP
$PhantomTimeout = 5000; // timeout to wait for js-functions on websites like Origin.com
if (parse_url ($_GET["url"], PHP_URL_HOST) == 'www.origin.com')
{
exec ('phantomjs.exe --ignore-ssl-errors=true --load-images=false fetch_external.js "'.$_GET["url"].'" '.$PhantomTimeout, $DataArr);
$Data = implode ('\n', $DataArr);
}
JS
"use strict";
var page = require('webpage').create(), system = require('system'), url;
if (system.args.length < 3) {
console.log ('Usage: fetch_external.js URL TIMEOUT');
phantom.exit (1);
}
var url = system.args[1];
var time = system.args[2];
page.open(url, function(status) {
setTimeout(function() {
console.log (page.content);
phantom.exit(0)
}, time)
});
的回調等到整個頁面加載或一個特定的元素會更好,但我還沒有發現對如何做到這一點尚未...
你想創建一個釣魚網站或什麼? – evolutionxbox
好吧,沒有什麼負面的^^ 如果你願意的話,我自己寫了一個「遊戲願望清單」,它可以直接從商店中獲取遊戲的價格。 原產地就像其他網站一樣工作(例如蒸汽),但他們前一段時間改變了他們的商店... – dlder