哪个是保存使用casperjs抓取网页时获得的表格数据的最佳方法?
使用json对象并在序列化后将其存储为文件。
对php使用ajax请求,然后将其存储在mysql数据库中。
答案 0 :(得分:5)
我只使用第二种情况:
首先:获取存储在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
参数中的数据并将其存储到数据库中。
答案 1 :(得分:2)
为简单起见,将CasperJS视为一种获取数据的方法。用另一种语言处理它。我会选择#1选项 - 以JSON格式获取数据,并将其保存到文件中以便以后再进行操作。
为此,您可以使用PhantomJS提供的File System API。您还可以将此与CasperJS's cli interface结合使用,以允许您将参数传递给脚本(例如,要写入的临时文件)。
处理所有这些的脚本如下所示:
mktemp
)。