Skip to content

Instantly share code, notes, and snippets.

@benelog
Created July 15, 2014 10:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save benelog/eb7930b6396605ec9ab6 to your computer and use it in GitHub Desktop.
Save benelog/eb7930b6396605ec9ab6 to your computer and use it in GitHub Desktop.
phatom.js
var server = require('webserver').create();
var service = server.listen(18080, function (request, response) {
var params = parseQueryString(request.url);
render(params.address, params.output);
response.statusCode = 200;
response.write("<html><body>");
response.write("<p>" + params.output + " writed! </p>");
response.write("</body></html>");
response.close();
});
function parseQueryString(url) {
var queryString = url.substr(url.indexOf("?"));
if(queryString.substr(0, 1) == '?') {
queryString = queryString.substr(1);
}
var pairs = queryString.split('&');
var params = new Object();
for (var i = 0, n = pairs.length; i < n; i++) {
var parts = pairs[i].split('=');
params[parts[0]] = decodeURI(parts[1]);
}
return params;
}
function render(address, output){
if (address == null) {
return;
}
var page = require('webpage').create(), size;
console.log("source url : " + address);
page.viewportSize = { width: 600, height: 600 };
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
} else {
page.render(output);
console.log("output file : " + output);
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment