phantomjs – casperjs下载csv文件

我正在尝试使用以下代码站点下载csv文件(广告报告).问题是,它将下载 HTML页面而不是csv文件.我不能给你的URL,因为它在登录后面,但类似的情况下,从下面的URL下载Firefox

http://www.mozilla.org/en-US/firefox/new/

这是一个GET请求,当我检查元素网络选项卡时,获取请求被取消.我是新来的Casper,不知道如何处理这样的请求.任何帮助将不胜感激

casper.then(function() {
   var downloadURL = "";

  this.evaluate(function() {
      var downloadURL = "http://www.lijit.com"+jQuery("#dailyCSV").attr('href'); 
   });

   this.download(downloadURL,'/Users/Ujwal/Downloads/caspertests/stats.csv');
});

回应标题

Age:0
Cache-Control:max-age=0
Connection:keep-alive
Content-disposition:attachment; filename=stats.csv
content-encoding:gzip
Content-Length:1634
Content-Type:text/x-csv
Date:Sat,05 Oct 2013 15:28:21 GMT
Expires:Sat,05 Oct 2013 15:28:21 GMT
P3P:CP="CUR ADM OUR nor STA NID"
Server:PWS/8.0.16
vary:Accept-Encoding
X-Px:ms h0-s28.p9-jfk ( h0-s62.p9-jfk),ms h0-s62.p9-jfk ( origin>CONN)

解决方法

回答我自己的问题,这里是解决方

参考:https://github.com/knorrium/google-books-downloader/blob/master/gbd.js

//Download the daily csv
 casper.then(function() {    
     this.click('#dailyCSV');
 });

 casper.on('resource.received',function (resource) {
     "use strict";
     if ((resource.url.indexOf("publisherCSV/?startDate=") !== -1) ) {        
        this.echo(resource.url);
        var url,file;
        url = resource.url;
        file = "stats.csv";
        try {
            this.echo("Attempting to download file " + file);
            var fs = require('fs');
            casper.download(resource.url,fs.workingDirectory+'/'+file);
        } catch (e) {
            this.echo(e);
        }
     }
 });

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...