哪个是保存使用 casperjs 抓取网页时获得的表格数据的最佳方法?
使用 json 对象并在序列化后将其存储为文件。
对 php 使用 ajax 请求,然后将其存储在 mysql 数据库中。
哪个是保存使用 casperjs 抓取网页时获得的表格数据的最佳方法?
使用 json 对象并在序列化后将其存储为文件。
对 php 使用 ajax 请求,然后将其存储在 mysql 数据库中。
我只使用第二种情况:
第一:获取存储在 globalInfo 变量中的信息
var globalInfo;
casper.thenOpen("www.targetpage.cl/valuableInfo", function() {
globalInfo = this.evaluate(function(){
var domInfo = {};
domInfo.title = "this is the info";
domInfo.body = "scrap in the dom for info";
return domInfo;
});
});
第二种:访问一个页面来存储抓取的数据
casper.then(function(){
casper.thenOpen("www.mipage.com/saveIntheDBonPost.php", {
method: 'post',
data:{
'title': ''+globalInfo.title,
'body': ''+globalInfo.body
}
});
});
www.mipage.com/saveIntheDBonPost.php
获取$_POST
参数中的数据并将其存储到数据库中。
为简单起见,将 CasperJS 视为获取数据并在之后用另一种语言处理数据的一种方式。我会选择选项 #1 - 以 JSON 格式获取数据,并将其保存到文件中以供以后处理。
为此,您可以使用 PhantomJS 提供的文件系统 API。您还可以将其与CasperJS 的 cli 接口结合使用,以允许您将参数传递到脚本(例如要写入的临时文件)。
您处理所有这些的脚本如下所示:
mktemp
在 linux 系统上)。