問題タブ [spookyjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
923 参照

phantomjs - 各テスト間で環境を完全に分離してクリアするにはどうすればよいですか?

CasperJS を使用して SoundCloud に接続しようとしています。興味深いのは、サインインして後でログイン機能を再実行すると、以前のログインがまだアクティブになっていることです。先に進む前に、コードは次のとおりです。

このコードを少なくとも 2 回実行すると、次のエラーが表示されます。

ログを分析すると、2 回目にhttps://soundcloud.com/streamにリダイレクトされたことがわかります。これは、すでにログインしていたことを意味します。

各テストの間に環境をクリアするためにいくつかの調査を行いましたが、次の行では問題が解決しないようです。

技術的には、ここで何が起こっているのかを理解することに非常に興味があります。おそらく、SoundCloud は、サーバー側にもいくつかの変数を格納するシステムを構築しました。この場合、ログインする前にログアウトする必要があります。しかし、私の質問は、各テスト間ですべてを完全に分離してクリアするにはどうすればよいですか? 各テスト間で環境を署名なしにする方法を誰かが知っていますか?

0 投票する
1 に答える
218 参照

javascript - SpookyJS スクリプトの完了時にリクエストに応答する方法は?

定期的にログインして、特定のサイトからデータをスクレイピングする必要があります。それを処理するために、Heroku で実行する CasperJS スクリプトを作成しました。

これが私ができるようにしたいことです:

次に、不気味なスクリプトの最後のステップで:

残念ながら、に渡された関数scrapeStuff.then(). (変数が見つかりません: コールバック) 代わりに、それを使用this.emit()して監視する必要があります。これがどのように行われるかの例をここでspooky.on見ることができます。

エミットを使用する際の問題は、リクエストに応じてスクレイピングされたページの HTML を受け取りたいことです。だから私はにアクセスし/scrape、それが動作している間10秒待ってページを受け取り、それを呼び出すのではなく、成功したと仮定して別のURLをリクエストして最終的にHTMLを取得したい.

これは SpookyJS で実行できますか? CasperJS を直接使用するより良い方法があるかもしれません。

0 投票する
1 に答える
621 参照

node.js - SpookyJSにスクリプトを挿入するには?

SpookyJS プログラムにpunycodeスクリプトを挿入しようとしています。しかし、それは機能していません。

コンソール出力に x 値が表示されません。

なぜそれが機能しないのですか?

0 投票する
1 に答える
113 参照

javascript - spookyjs と同じ親 node_modules ディレクトリに配置された casperjs モジュールを読み込めません

プロジェクトの node_modules フォルダーに spookyjs しかインストールされていませんが、スクリプト (または含まれているサンプル) を正常に実行できるのは、casperjs がグローバル (-g) フラグを使用してインストールされている場合のみであり、 spookyjs と同じ nodes_modules。

ここで見落としている可能性のある構成や手順はありますか? ありがとうございました!

0 投票する
1 に答える
372 参照

node.js - SpookyJS には、Meteor で使用しているときに Start メソッドがありません

奇妙なエラーが発生し、ここ数時間原因がわかりません...

情報を得るためにいくつかの Web ページをスクレイピングする meteor アプリがあり、静的ページに reuqest と Cheerio を使用している限り、すべて正常に動作しますが、現在は動的サイトがあり、これに phantomjs、casperjs、および spookyjs を使用したいと考えていましたが、ここでバグが発生します...私のコードは次のとおりです。最初にnpmモジュールをインポートします。

そしてしばらくして、spooky を使用して Web ページをスクレイピングしたいと考えています。

しかし、メソッドを呼び出すとすぐに、次のエラー メッセージが表示されます。

私は完全に間違ったことをしており、それが機能しない理由がわかりません... spookyjs と phantomjs がアプリに正しくインストールされていることを確認しようとしましたが、それらを使用している人にとっては思ったほど簡単ではありません初めて...

0 投票する
0 に答える
165 参照

javascript - spookyjs がエラーなしで実行を停止する

Web サイトにログインし、配列にリストされている多数のページにアクセスするツールを構築しています。この CasperJS を実行するたびに、36 番目のリンクにアクセスするとハングするようです。36番目のリンクを削除しようとしましたが、次のリンクでハングします。

それはメモリの問題でしょうか?CasperJS がデバッグ ログでハングする場合、エラーはありません。サーバーで top を実行すると、phantomJS プロセスが実行されていません。

デバッグログ

0 投票する
0 に答える
79 参照

meteor - SpookyJs から Meteor への配列を取得する

多くのハードワークの後、私の SpookyJS スクリプトは正常に動作し、Meteor アプリでコレクションを照会するために使用したい値の配列である戦争の戦利品を取得しましたが、大きな問題があります。

スプーキーからMeteor固有のメソッドを呼び出す方法が見つかりません...

したがって、spooky.on 関数のコードは次のようになります。

console.log は、私が望む結果を与えてくれます:

私が必要としているのは、引数としてコースを使用して Meteor.method を呼び出す方法、または現在の Meteor.method の配列にアクセスする方法です。spookyjs が作業を終了した後です (悲しいことに、spooky が動作しているかどうかを確認する方法がわかりません)。終了した)

私の最後のアイデアは、Meteor.method にコールバック関数を与え、配列をセッションなどに保存することですが、それは非常に悪い設計のように思えます。もっと良い方法が必要だと思います。

私は私の小さな幽霊を非常に誇りに思っているので、フィニッシュラインの最後の数ピースを手に入れるための助けは非常に適用されます.