問題タブ [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.
javascript - Node.js : Request と Cheerio の問題でスクレイピング
最初に:私はノードが初めてで、比較的プログラミングの初心者です。
Express を使用して小さな Web アプリを作成しようとしています。その唯一の目標は、オープン API を持たない Web サイトからデータを取得して再フォーマットすることです。
そのためにスクレイピングを学ぼうと思い、チェリオとリクエストにたどり着きました。
学習するために例として reddit を使用しています。この例の最終目標は、フロント ページの投稿の名前と href、およびコメントにつながる URL を収集し、そのページに移動してコメントの数を収集することです。
以下は、/ への GET リクエストで呼び出されるルートです (変数名とコメント/console.logs を許してください、私はイライラしました):
関数 first(); 意図したとおりに動作します。配列内のコメントにタイトル、href、および url を配置し、その配列を、フロント ページのすべての投稿のデータ ポイントを含むマスター配列にプッシュします。次に、関数 second() を呼び出します。
この関数の目的は、マスター配列 (mainArr[]) をループしてから、コメントにつながるすべての URL (mainArr[i][uI]) を選択し、その URL を最初のパラメーターとして request() を起動することです。
ループは機能しますが、second() 関数内での request() の 2 回目の呼び出し中に、すべてが機能しなくなります。変数 i は永続的に -1 に設定され、commentURL (現在の投稿のコメントの URL に設定される変数) は arrMain[] の最初の URL として永続的に定義されます。arrMain.length にも奇妙な動作があります。配置場所によっては、arrMain が未定義であることがわかります。
明らかな何かが欠けているような気がしますが (おそらく非同期性と関係があります)、私の人生では、それを見つけることができません。
私はどんな提案にも本当に感謝しています!
node.js - nodejsでWebページをスクレイピングするURLを返す
nodejs とその 2 つのモジュール request と Cheerio を使用して Web サイトをスクレイピングする単純な Web アプリを構築しようとしています。
私は次のコードでそれを行うことができます:
Web サイト上の写真の URL を印刷することは問題なく機能しますが、ここで実際に実行しようとしているのは、関数の外部で使用できる URL のリストを作成することです。この方法で試しましたが、空のリストが返されます:
どうすればこれを修正できますか? どうもありがとう
jquery - jQuery でパスを更新した後、SVG 画像が黒くなる
次のhtmlコードがあります
jQuery で画像のパスを変更しようとすると、画像が黒くなります。
私はnode.jsとモジュールcheerioを使用しています。
ありがとう