問題タブ [cheerio]

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 投票する
1 に答える
4979 参照

javascript - クエリをcheerioで自動送信(JQuery風)

次のことを行う必要があります: サーバーから読み込まれたページが与えられた場合、読み込み後にそのページのフォームを自動的に送信し、すべての入力フィールドに同じ文字列 ( test worked) を入力する必要があります。これは明らかに私の問題を単純化したものですが、十分に近いです!

現時点では、フォームを取得しており、https ://github.com/cheeriojs/cheerio を使用して調査しています。

現時点では、次のコードがあります。

質問:

  • 現時点でsubmitは、ダウンロードしたページに相対的です。提出物を正しい場所に確実に提出するにはどうすればよいですか? url.parse を実行して、URL からアクションのガル パスを計算する必要がありますか?

  • 実際に「投稿」文字列を作成するにはどうすればよいですか? または、さらに良いことに、このフォームをどのように投稿しますか?

  • これが機能しない可能性があることを認識しています(フォームにJavascriptなどが含まれている可能性があります)。しかし、このフォームを送信する際に、他に注意することはありますか?

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

javascript - 最後の配列を取得する方法

チェリオを使用して、日付、場所などの列を含む PHP 生成テーブルをスクレイプすることができました。行数は可変であるため、.map() を使用して各行を反復し、一致する開始イベントを設定することにしました。提供された CSS セレクターを使用した日付 (startDate)。console.log(startDate) を呼び出すと、以下の出力が表示されるため、上記のプロセスはうまく機能しているようです。ただし、プロセスが次の行に移動するたびに配列を作成し、そのたびに追加の日付を追加しているように見えます。変数を配列 startDate の最後の配列のみに設定するにはどうすればよいですか?

したがって、console.log(newArray) の望ましい出力は次のようになります。

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

node.js - Node.js の request モジュールからの出力にアクセスする方法

と を使用して Web サイトをスクレイピングする方法を説明するチュートリアルがいくつかありrequestますcheerio。これらのチュートリアルでfsは、以下の例に示すように、出力をコンソールに送信するか、DOM をファイルにストリーミングします。

しかし、スクリプトの実行中に出力を処理したい場合はどうすればよいでしょうか? 出力にアクセスしたり、呼び出し元の関数に送り返すにはどうすればよいですか? もちろん、そこから情報を読み込んimg_link.txtで取得することもできますが、これにはコストがかかりすぎて意味がありません。

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

javascript - チェリオでページのタイトルを取得する

チェリオでURLのタイトルタグを取得しようとしています。しかし、空の文字列値を取得しています。これは私のコードです:

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

json - クラスセレクターの各ループでの Cheerio エラー - TypeError:未定義のプロパティ「範囲」を設定できません

リクエストアプリで行っている単純な Cheerio 解析があります。配列を設定しようとしたときにこの未定義のエラーが発生する理由はわかりませんが、設定する値が存在しないと推測しています。

これは、スクレイピングされた html で見つかった最初の 2 つの項目を読み取って設定するコンソールの応答です。

TypeError:未定義のプロパティ「範囲」を設定できません

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

javascript - promise を使用して配列の最終結果を返す方法は?

現在、特定の Web サイトのすべてのファイル名 (既存の各フォルダー内) の要求を返そうとしています。私の Web アプリケーションは、NodeJS、Express、Cheerio、および Request to Web Scrape を使用しています。私のコードは、最初にすべてのフォルダー名のリストを取得しています。フォルダー名のリストを取得した後、各フォルダー名の内部に移動してファイル名のリストを取得し、それらを「files」配列に格納します。最後に、'files' 配列がクライアント側に送信されるものです。

私の要求は常に「ファイル」の空のリストを返すため、現在、非同期のものに大きな問題があります。Q ノード モジュールをインストールし、promise を使用してみましたが、希望する結果が得られませんでした。私はまだnodeJSに慣れていないので、誰かが私を助けてくれると嬉しいです.. :)

読みやすさやサポートを向上させるために、私が作成した JSFiddle をhttp://jsfiddle.net/fKGrm/で表示できます。

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

javascript - Cheerio (node.js) が html 読み取りでエラーを返す

私は JS がまったく初めてで、Node Cheerio で完全に動けなくなりました。誰かが私を助けてくれれば本当に感謝しています。

私が取り組んでいるコードはこちらです: https://github.com/zafartahirov/bitstarter .

(修正が見つかった後、動作しないコードは grader.old.js と呼ばれます)。

私が走るとき

エラーが表示されます:

助言がありますか?