問題タブ [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.
node.js - Node.jsでWebスクレイピングを効率的に行う方法は?
ショッピングサイトExpress.comからいくつかのデータを取得しようとしています。これは、画像、価格、タイトル、色を含む多くの製品の1つです。
私が行った非常に素朴でエラーが発生しやすいアプローチは、最初にすべての価格、画像、タイトル、色を取得することです。
次に、 node.jsのjsdomまたはcheerioスクレイピングライブラリを使用して抽出されたDOMからのデータを配列に入力します。(この場合はCheerio)。
最後に、価格、タイトル、画像、色が一致するという仮定に基づいて、製品オブジェクトを作成します。
この方法は時間がかかり、エラーが発生しやすく、非常にアンチドライです。$('.cat-thu-product')
一度に1つのforループを使用して、1つの製品から関連情報を抽出できればいいのにと思いました。
しかし、jsdomまたはcheerioでDOMをトラバースしようとしたことがありますか?誰もがそれをどのように理解できるのかわかりません。誰かが、$('.cat-thu-product')
すべての関連情報を含むdiv要素を取得し、必要なデータを抽出することによって、この提案されたスクレイピング方法をどのように使用するかを示すことができますか?
または、おそらくこれを行うためのより良い方法がありますか?
node.js - Meteor.js によるスクレイピング
meteor.js でスクレイピングできますか? cheerio
と組み合わせて優れた機能を発揮するものを発見しましrequest
た。これらを流星で使用できますか、または同様のものはありますか?
実際の例はありますか?
html - ダブルクラスのCheerio除外を使用するcssセレクター
私はかなり「奇妙な」シナリオ(ウェブスクレイピング)を持っています。(double class )のあるものclass=g
だけを選択したいのですが、選択したくないのです。jQueryでそれを行う方法は?class="g g"
g
$('。g')を使用すると、.g
と.g .g
更新1:
有効だと思わない場合は.g .g
、Google検索結果でソースを表示してください;)
javascript - スクレイピングしたJavaScriptをcheerioで実行する
Dom を変更しないが、いくつかの数値を返す JS API がいくつかある Web ページがあります。そのようなページをダウンロードし、ダウンロードしたページのコンテキストでそれらの機能を実行する NodeJS アプリケーションを作成したいと思います。
ページスクレイピング用のcheerioを見ていました..しかし、それを使用してDOMをナビゲートして操作するのがいかに簡単かはわかりますが、ページ機能を実行するためのアクセスは見られません. それは可能ですか?
代わりに、jsdom を見る必要がありますか?
ありがとう
javascript - .is() は Cheerio に存在しませんか?
このような要素が最後の子であるかどうかを確認する必要があります
しかし、node.jsで(軽量化のために)jqueryの代わりにcheerioを使用しています
https://github.com/MatthewMueller/cheerio
それは私にエラーを与えました:
誰か確認できますか?もしそうなら、ノードが最後の子であるかどうかを確認するエレガントな方法は何ですか?
ありがとう。
jquery - NodeJSでjQueryのcss()関数を利用する
私は現在 NodeJS を使用して、次のモジュールで Web ページをスクラップしています: Cheerio と Request
NodeJS で css() jQuery 関数を使用することは可能ですか?
特定の jQuery オブジェクトの css プロパティを取得したいと考えています。
ご協力いただきありがとうございます!
javascript - xmlを解析するcheerioを使用するnodejsは空のCDATAを返します
私はnodejsでcheerioを使用して、いくつかのRSSフィードを解析しています。すべてのアイテムを取得して配列に入れています。私は 3 つのテスト フィードを使用しています。それらのすべてに、「item」要素ごとに「description」子要素があります。フィードの 1 つで、「説明」全体が CDATA としてラップされており、その値を取得できません。短縮されたコード スニペットを次に示します。
予想どおり、CDATA を持たない 2 つの RSS フィードは、このような配列を与えてくれます
CDATA の説明を含むフィードは次のようになります
だから私の質問は:なぜcheerioはCDATAにラップされた値を返さないのですか/どうすればそれらの値を返すことができますか.