我在mint.com上有一個帳戶,我試圖每天下載有關我的帳戶的信息。我還沒有找到Mint API,我不認爲Intuit和Yodlee API可以工作。CasperJS和mint.com
我想獲取Mint中的數據,我正在嘗試使用CasperJS(如果有問題,請在Raspberry PI上)。現在下面的JavaSript將解析https://www.google.com
就好了,但https://www.mint.com
它只是掛起。
var links = [];
var casper = require('casper').create();
function getLinks() {
var links = document.querySelectorAll('a');
return Array.prototype.map.call(links, function(e) {
return e.getAttribute('href')
});
}
casper.start('https://www.mint.com/', function() {
});
casper.then(function() {
links = this.evaluate(getLinks);
});
casper.run(function() {
// echo results in some pretty fashion
this.echo(links.length + ' links found:');
this.echo(' - ' + links.join('\n - ')).exit();
});
輸出薄荷
[info] [phantom] Starting...
[info] [phantom] Running suite: 3 steps
[debug] [phantom] opening url: https://wwws.mint.com/, HTTP GET
[debug] [phantom] Navigation requested: url=https://wwws.mint.com/, type=Other, lock=true, isMainFrame=true
[warning] [phantom] Loading resource failed with status=fail: https://wwws.mint.com/
[debug] [phantom] Successfully injected Casper client-side utilities
[info] [phantom] Step 2/3: done in 181787ms.
[info] [phantom] Step 3/3: done in 181893ms.
[info] [phantom] Done 3 steps in 181981ms
0 links found:
-
輸出爲谷歌
[info] [phantom] Starting...
[info] [phantom] Running suite: 4 steps
[debug] [phantom] opening url: http://google.fr/, HTTP GET
[debug] [phantom] Navigation requested: url=http://google.fr/, type=Other, lock=true, isMainFrame=true
[debug] [phantom] Navigation requested: url=http://www.google.fr/, type=Other, lock=true, isMainFrame=true
[debug] [phantom] url changed to "http://www.google.fr/"
[debug] [phantom] Successfully injected Casper client-side utilities
[info] [phantom] Step 2/4 http://www.google.fr/ (HTTP 301)
[info] [remote] attempting to fetch form element from selector: 'form[action="/search"]'
[debug] [remote] Set "q" field value to casperjs
[info] [remote] submitting form to /search, HTTP GET
[info] [phantom] Step 2/4: done in 1901ms.
[debug] [phantom] Navigation requested: url=http://www.google.fr/search?hl=fr&source=hp&q=casperjs&gbv=2, type=FormSubmitted, lock=true, isMainFrame=true
[debug] [phantom] url changed to "http://www.google.fr/search?hl=fr&source=hp&q=casperjs&gbv=2"
[debug] [phantom] Successfully injected Casper client-side utilities
[info] [phantom] Step 3/4 http://www.google.fr/search?hl=fr&source=hp&q=casperjs&gbv=2 (HTTP 301)
[info] [remote] attempting to fetch form element from selector: 'form[action="/search"]'
[debug] [remote] Set "q" field value to phantomjs
[info] [remote] submitting form to /search, HTTP GET
[info] [phantom] Step 3/4: done in 4675ms.
[debug] [phantom] Navigation requested: url=http://www.google.fr/search?q=phantomjs&hl=fr&gbv=2&oq=&gs_l=, type=FormSubmitted, lock=true, isMainFrame=true
[debug] [phantom] url changed to "http://www.google.fr/search?q=phantomjs&hl=fr&gbv=2&oq=&gs_l="
[debug] [phantom] Successfully injected Casper client-side utilities
[info] [phantom] Step 4/4 http://www.google.fr/search?q=phantomjs&hl=fr&gbv=2&oq=&gs_l= (HTTP 301)
[info] [phantom] Step 4/4: done in 6478ms.
[info] [phantom] Done 4 steps in 6552ms
22 links found:
- /url?q=http://casperjs.org/&sa=U&ei=SLQ6UbawMYOE9QSlooD4Bw&ved=0CBwQFjAA&usg=AFQjCNEivptk0tQ6060ZeJF2ZO7BDHisuQ
- /url?q=http://casperjs.org/installation.html&sa=U&ei=SLQ6UbawMYOE9QSlooD4Bw&ved=0CB8QqwMoADAA&usg=AFQjCNEgDNPxz-NyxPI-XdGxcMM92VMu1g
- /url?q=http://casperjs.org/quickstart.html&sa=U&ei=SLQ6UbawMYOE9QSlooD4Bw&ved=0CCAQqwMoATAA&usg=AFQjCNG1J2w6fPKdK_mASYGxFsnAWp21fw
CasperJs --version是1.0.0-RC4
個PhantomJs被編譯爲樹莓派 - >https://github.com/piksel/phantomjs-raspberrypi 版本1.7.0
一個簡單的wget將下載HTML,所以我不能有一個設置或已經設置CasperJs錯了嗎?其他JavaScript的網站解析罰款,但薄荷我什麼都沒有得到?
嘗試使用不同的用戶代理 - 如果銀行網站阻止PhantomJS,我不會感到驚訝。 – 2013-03-09 07:44:47
你的劇本適合最新的高手。另外,您可能需要檢查您的盒子是否支持SSL。 – NiKo 2013-03-10 08:05:32