Javascript 使用casperjs保存在抓取网页时获取的表数据

Javascript 使用casperjs保存在抓取网页时获取的表数据,javascript,mysql,json,phantomjs,casperjs,Javascript,Mysql,Json,Phantomjs,Casperjs,使用casperjs抓取网页时,保存表格数据的最佳方法是什么 使用json对象并在序列化后将其存储为文件 对php使用ajax请求,然后将其存储在mysql数据库中 为了简单起见,将CasperJS视为获取数据的一种方式,并在之后用另一种语言处理数据。我会选择选项#1——以JSON格式获取数据,并将其保存到一个文件中,以便以后处理 为此,您可以使用PhantomJS提供的。您还可以将其与相结合,以便将参数传递到脚本中(例如,要写入的临时文件) 处理所有这些问题的脚本如下所示: 获取临时文件路径(

使用casperjs抓取网页时,保存表格数据的最佳方法是什么

  • 使用json对象并在序列化后将其存储为文件

  • 对php使用ajax请求,然后将其存储在mysql数据库中


  • 为了简单起见,将CasperJS视为获取数据的一种方式,并在之后用另一种语言处理数据。我会选择选项#1——以JSON格式获取数据,并将其保存到一个文件中,以便以后处理

    为此,您可以使用PhantomJS提供的。您还可以将其与相结合,以便将参数传递到脚本中(例如,要写入的临时文件)

    处理所有这些问题的脚本如下所示:

  • 获取临时文件路径(
    mktemp
    在linux系统上)
  • 调用CasperJS脚本,将临时文件路径作为参数传入
  • 获取数据,使用文件系统API将其写入该文件,然后退出
  • 读入文件,处理它(保存到数据库等),删除临时文件

  • 我只使用第二种情况:

    首先:获取存储在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
    获取
    $\u POST
    参数中的数据并将其存储到数据库中