2010-12-03 13 views
0

私はChickenfootを使用してWebクローラーを作成しており、PDFファイルを保存する必要があります。私は、ページ上のリンクをクリックするか、PDFのURLを取得し、ChickenfootでPDFファイルを保存する

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

を使用して、私はFirefoxの取得]ダイアログボックス「file.pdfを開く」が、実際に保存するために「OK」ボタンをクリックすることはできませんいずれかファイル。

私は他の手段(wget、pythonのurllib2、twill)をダウンロードしようとしましたが、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)); 

chickenfootでjqueryを使用すると便利です。 http://groups.csail.mit.edu/uid/chickenfoot/scripts/index.php?title=Using_jQuery,_jQuery_UI_and_similar_libraries

+0

Larry、それはウェブページのソースを保存するためにはうまくいくようですが、私が試したPDFファイルや他のバイナリファイルは壊れているようです。私はjQueryをちょっと読んだが、そこにこの問題の解決策を見つけていない。 – alaiacano

0

この例では、Mozillaの開発者向けドキュメントにターゲットを保存する方法が、まさにあなたが望むことをするように見えます。私はChickenfootの例をテストしましたが、これは非常によく似ていて、一時変数の環境変数を取得し、Chickenfootでうまく動作しています。

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

あなたはアクションがファイルを保存するように設定されていることを確認するためのツール、オプション、アプリケーションにアプリケーション団体でプレイしているかもしれないが、これらの設定は、これらの機能には適用されない場合があります。

エンド回答、関連grumblingsを開始...

私は必ず誰かがチキンフットで多くのバグを修正し、素敵なクックブックプログラミングガイドを作成してほしいです。私は何年も使ってきましたが、やり方を決めることができなかった多くの基本的なことがまだあります。私は最終的に壊れて、メーリングリストに購読しました。アーカイブにはまともなスクリプトの例があります。ウェブAPIのリファレンスは非常に少ないので、pdfリファレンス、ブログなどで検索するのは大変です。 私は、シンプルなChickenfootがいくつかのタスクを自動化することができるのが大好きですが、JavaScriptプログラマー、DOM文書、Firefox文書を検索するには、実際にはウェブプログラマーではないので、 Chickenfootの目標はそうする必要はないはずですが、残念ながらMITがプロジェクトを中止したため、概念証明を洗練させる人はほとんどいません。

私はChickenfootコマンドだけを使っていくつかのやり方を試み、最新のFirefox 3とChickenfoot 1.0.7では動作しないことを確認しました。

こちらがお役に立てば幸いです。がんばろう。申し訳ありません、私はあなたの質問を昨日通り抜けましたが、一人で放置するのは面白いと感じました。

関連する問題