2010-12-03 73 views
0

我正在使用Chickenfoot編寫一個網絡爬蟲,並且需要保存PDF文件。我可以點擊的鏈接頁面上或搶PDF的網址,並使用用Chickenfoot保存PDF文件

go("http://www.whatever.com/file.pdf") 

,我得到了Firefox的「打開file.pdf」對話框,但不能點擊「確定」按鈕保存實際文件。

我試過使用其他方式下載文件(wget,python的urllib2,斜紋),但PDF文件被門控,所以這些都不會工作。

任何幫助表示讚賞。

回答

0

爲了安全起見,您將無法單擊Firefox對話框。 下載URL內容的最佳方式是閱讀然後編寫URL的內容。

// Chickenfoot 1.0.7 Javascript Code to download the content of a url. 
include("fileio.js"); // enables the write function. 
var url = "http://google.com", 
    saveFileTo = "c://chickenfoot-google.com"; 

write(saveFileTo, read(url)); 

你可能會發現它有助於使用jQuery與雞腳。 http://groups.csail.mit.edu/uid/chickenfoot/scripts/index.php?title=Using_jQuery,_jQuery_UI_and_similar_libraries

+0

Larry,這似乎工作正常保存網頁的來源,但似乎損壞PDF文件或任何其他二進制文件,我已經嘗試過。我讀了一些關於jQuery的內容,但還沒有遇到這個問題的解決方案。 – alaiacano 2010-12-08 15:46:29

0

這個關於如何在Mozilla開發者文檔中保存目標的例子看起來應該像你想要的那樣完成。我測試了一個非常相似的Chickenfoot示例,它可以獲得臨時環境變量,並且在Chickenfoot中適用於我。

https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIWebBrowserPersist#Example

您可能必須在工具,選項,應用程序與應用協會發揮,以確保操作設置爲保存文件,但這些設置可能不適用於這些功能。

末回答,開始了相關牢騷......

我當然希望有人能修復奇肯富特的許多錯誤,並寫一個很好的食譜節目指南。我已經使用了好幾年了,還有很多基本的東西我都無法弄清楚如何去做。我終於打破了訂閱郵件列表,因爲檔案有一些體面的腳本示例。它需要通過pdf參考,博客等進行大量搜索,因爲Web API引用非常稀少。 我非常喜歡Chickenfoot可以讓一些任務自動化,但是我需要花幾天時間來搜索javascript,DOM和Firefox文檔,以便找到辦法做一些它不能做的事情,因爲我不是一個真正的Web程序員。 Chickenfoot的目標似乎是我不應該這樣做,但遺憾的是很少有人正在完善概念驗證,因爲麻省理工學院已經放棄了這個項目。

我試圖用這幾種方法使用Chickenfoot命令,並確認它們不能與最新的Firefox 3和Chickenfoot 1.0.7一起使用。

我希望這有助於!祝你好運。對不起,我昨天只是碰到你的問題,但發現它太有趣了,不能一個人留下。