是否有可能將文件下載到文件夾並使用panthomjs/casperjs爲其指定名稱?如何使用phantomjs/casperjs處理下載?
例如,如何下載本頁底部的.csv:http://www.nasdaq.com/symbol/aapl/historical並將其命名爲aapl.txt?
的下載鏈接爲:
<a href="javascript:getQuotes(true);" id="lnkDownLoad">
Download this file in Excel Format
</a>
它的目標是調用JavaScript函數,它的目標是模糊的直接下載鏈接(我認爲),但是當你點擊它,它只好找到一個經典的下載提示。我希望phantomjs能夠正常處理下載(更改文件名並選擇將其保存在驅動器盤上的位置)
編輯:此代碼應該單擊下載鏈接並偵聽傳入的資源:
var casper = require('casper').create();
var x = require('casper').selectXPath;
casper.userAgent("Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36")
casper.start('http://www.nasdaq.com/symbol/aapl/historical', function() {
//this.echo(this.getTitle());
console.log('TITLE : ' + this.getTitle());
});
casper.wait(5000, function() {
casper.on('resource.received', function (resource) {
casper.echo("LISTENING");
casper.echo(resource.url);
});
});
casper.thenClick(x('//*[@id="lnkDownLoad"]'), function() {
console.log('CLICKED');
});
casper.run();
但由於某種原因,我沒有收到任何文件不像一般的瀏覽器。控制檯日誌是:b'TITLE : (AAPL) Historical Prices & Data - NASDAQ.com\r\nCLICKED\r\nLISTENING\r\nhttp://www.nasdaq.com/symbol/aapl/historical\r\n'
任何想法?
你試過我的鏈接嗎?直接下載鏈接被javascript模糊處理。我需要一種方法來處理下載提示。 – Wicelo 2014-09-07 06:09:04
下載鏈接調用一個名爲'getQuotes'的javascript函數,其目標是破壞直接下載鏈接。我沒有足夠的知識來分析它究竟做了什麼。如果您點擊鏈接使用Firefox或Chrome,則會出現下載提示,您可以下載.csv。我基本上想要phantomjs處理該下載提示以重命名文件並將其保存在我選擇的位置,除非有其他方法。 – Wicelo 2014-09-07 08:33:35
當您嘗試鏈接解決方案時會發生什麼?有什麼問題嗎? – 2014-09-07 08:43:40