したこと
- SailsでとりあえずPhantomJSでページをとってみた。
# sails new landload
# sails generate api property
# npm install phantomjs
config/models.js
module.exports.models = {
migrate: 'safe'
};
controllers/PropertyController.js
var phantom = require('phantom');
function CreateUrlArray(str) {
var array = [];
str.match(/.*(\[(\d+)-(\d+)\]).*/);
if (!RegExp.$1 || !RegExp.$2 || !RegExp.$3) {
return array;
}
else {
var replace = RegExp.$1;
var start = Number(RegExp.$2);
var end = Number(RegExp.$3);
for (var i = 0; i <= end - start; i++) {
array[i] = str.replace(replace, (start + i).toString());
}
return array;
}
};
function updateApi(req, res) {
phantom.create(function (ph) {
ph.createPage(function (page) {
page.open("http://www.rakumachi.jp/syuuekibukken/area/prefecture/dimAll/?page=1&limit=100", function (status) {
console.log("opened rakumachi? ", status);
page.evaluate(function () {
return document.body.textContent;
}, function (result) {
res.json(200, {result: result});
ph.exit();
});
});
});
});
};
var PropertyController = {
update: updateApi
};
module.exports = PropertyController;
models/Property.js
module.exports = {
attributes: {
}
};
はまったこと
- 最新の2.0系列のPhantomJSはまだnpmからは取れないので、古い1.9系列を使うことにした。