2012-05-12 2 views
2

Edit4:これはLinuxでこれでうまくいきました。残りの部分がどこに置かれ、ファイルのコピー方法が分かりましたプロジェクトのための方法の先に進んで答えを受け入れ、これを閉じてください。Node.js "未定義のuserAgentプロパティを読み取れません" on要求

Edit3:Lenのコメントのおかげで、Windowsの代わりに私のDebian VMを使って作業しています。しかし、私は今、誰かがWindowsの問題を解決できるかどうかを知るために未回答のままにしておきます。

私はWindows 7デスクトップにNode.jsをインストールすることで、ゆっくりと作業してきました。方法のすべてのステップでは、PATH変数から更新プログラムに至るまで、Pythonが必要かどうか、npmのアクセス許可エラーがあるかどうかは分からないので、ゆっくりと言う。とにかく、私はGoogleの助けを借りて、それらのトンを通して働いてきたが、これは私が完全に困惑している:

D:\Website\Webscraper>node webscrape.js 

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
TypeError: Cannot read property 'userAgent' of undefined 
    at D:\Website\Webscraper\node_modules\jquery\lib\node-jquery.js:87:23 
    at D:\Website\Webscraper\node_modules\jquery\lib\node-jquery.js:995:2 
    at create (D:\Website\Webscraper\node_modules\jquery\lib\node-jquery.js:9416:2) 
    at D:\Website\Webscraper\node_modules\jquery\lib\node-jquery.js:9422:18 
    at Object.<anonymous> (D:\Website\Webscraper\node_modules\jquery\lib\node-jquery.js:9424:1) 
    at Module._compile (module.js:441:26) 
    at Object..js (module.js:459:10) 
    at Module.load (module.js:348:31) 
    at Function._load (module.js:308:12) 
    at Module.require (module.js:354:17) 

ここに私の全体のコードです:不足しているパッケージについての無限のエラーの後

var $ = require('jquery'); 

は、私が持っています次のNPM経由でローカルにインストール:

しかし、今私が取得しているエラーはかなり一般的なJSエラーであり、具体的に検索すると0個のGoogleヒットが網羅されています。私がしたいのは、node.jsでjqueryを実行するだけです。これは〜3行の入力を必要とすると考えられていました。私は何が足りないのですか?

編集:navigator.userAgentの最後を確認すると、ダウンロードしたナビゲータパッケージはこれを修正するように見えますが、動作しません。また、jqueryモジュールでnode-jqueryを編集しようとしました。グローバル変数 "navigator"を自分自身のuserAgentとその他のものをオーバーライドしてみましたが、何もエラーを変えずに問題を解決します。

EDIT2:(Debian用固定、レンの答えの下のコメントを参照してください)私にとって

+0

まあ、これはあなたが探している行、それは助けていただければ幸いです。https://github.com/coolaj86/node-jquery/blob/master/lib/node-jquery.js# L87 –

+0

興味深い... jqueryはブラウザのuserAgentを期待していますが、node.jsで実行しているので、何もありません。その周りにあるラッパーになるはずはありませんか? *は再びグーグルグーグルになります* –

+0

https://github.com/mikeal/spiderこれはnodejsで動作し、ページにコンテンツを取得するためにjQueryを使用しているWebスパイダーです。私はいくつかのマイナーなもののためにそれを成功に使用し、いくつかの微調整を必要とする別のプロジェクトをビルドしますが、それはあなたのエラーやWebクローラープロジェクトのように思われるベースのいずれかをあなたの道を見つけるのに役立ちます。 –

答えて

0

作品!

aeka ~/test$ cat webscrape.js 
var $ = require('jquery'); 
aeka ~/test$ node webscrape.js 
aeka ~/test$ echo $? 
0 
aeka ~/test$ npm ls 
/Users/annelicuss/test 
├─┬ [email protected] 
│ ├── [email protected] 
│ ├─┬ [email protected] 
│ │ ├─┬ [email protected] 
│ │ │ └── [email protected] 
│ │ ├── [email protected] 
│ │ └── [email protected] 
│ └── [email protected] 
└── [email protected] 

aeka ~/test$ 
+0

あなたは私より多くのパッケージを持っていますが、それは問題なのだろうか...私はcontextifyをインストールしようとしました: npm ERR! [email protected] install: 'node-gyp rebuild' npm ERR! 'cmd"/c "" node-gyp rebuild "は1で失敗しました npm ERR! npm ERR! [email protected]インストールスクリプトで失敗しました。 npm ERR!これは、コンテクストパッケージの問題である可能性が最も高いです。 npm ERR! npm自体ではありません。 npm ERR!あなたのシステムでこれが失敗することを作者に伝えてください: npm ERR! node-gyp rebuild –

+0

パッケージのインストールに使用したコマンドを投稿できますか? –

+0

これらは直接インストールしないでください。 'contextify'は' jquery'のインストールの依存関係として自動的にインストールされました(それは下に表示されています)。直接インストールすると 'jquery'自身の' node_modules'には含まれないので、とにかく役に立たないでしょう。マシン上で 'contextify'のビルドプロセスが間違っているように表示されます。おそらく、 'apt-get install build-essential'をする必要がありますか? – Ashe

関連する問題