【发布时间】:2018-04-02 15:04:54
【问题描述】:
您好,我正在开发一个网络抓取工具,首先我尝试使用 php CURL 进行抓取,但后来我遇到了一个问题,即我无法抓取通过 AJAX 加载的网站,然后我转移了到 'phantom JS' 和 'casper JS`。
现在我已经成功安装了 webkit 并且可以从任何网站上抓取数据,但是我无法将数据保存在数据库中以供长期使用。简单,以备后用。我想做的是,无论我抓取什么数据,我都想将其保存到 mySql 数据库中。
有什么方法可以实现这样的功能吗?我曾尝试发送Ajax 请求将数据发送到数据库,但失败了。
例如,我想出了另一种解决方案,即当我从指定网站抓取数据时,我将数据推送到名为 data[] 的数组中,然后将该数据写入 .json 文件。每组数据以对象数组的形式保存,从JSON.stringify(data)获取。
现在,我不知道如何获取该文件数据并将其保存在数据库中?是否有可能,每当抓取完成时,就在我从该.json 文件中获取数据并将其保存到数据库之后。
现在只以这段代码为例
var casper = require('casper').create();
var file = require('fs');
var data = [];
casper.start('http://casperjs.org/', function() {
data.push(this.getTitle());
file.write("file.json", JSON.stringify(data), "a");
});
casper.run();
【问题讨论】:
标签: web-scraping phantomjs casperjs