問題タブ [rvest]

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 に答える
6027 参照

html - Rで簡単なHTMLフォームをPOSTするにはどうすればよいですか?

私は R プログラミングに比較的慣れていないので、ジョンズ・ホプキンス大学のデータ サイエンス トラックで学んだことのいくつかを実用化しようとしています。具体的には、米国財務省の Web サイトから過去の債券価格をダウンロードするプロセスを自動化したいと考えています。

Firefox と R の両方を使用して、米国財務省の Web サイトが非常に単純な HTML POST フォームを使用して、関心のある相場の単一の日付を指定していることを確認できました。次に、すべての未払い債券のセカンダリ マーケット情報のテーブルを返します。

2 つの異なる R パッケージを使用して、米国財務省の Web サーバーに要求を送信しようとしましたが、失敗しました。私が試した2つのアプローチは次のとおりです。

試行 #1 (RCurl を使用):

これにより、Web ページが返されて保存されtd.htmlますが、含まれているのは Treasurydirect サーバーからのエラー メッセージだけです。ブラウザを介して同じリクエストを送信すると、期待どおりの結果が得られるため、サーバーが機能していることはわかっています。

試行 #2 (rvest を使用):

残念ながら、このアプローチは R から離れることもなく、R から次のエラー メッセージが表示されます。

問題の診断を試みることができるように、どの「不正な」テキストが rvest に送信されているかを確認する方法がわかりません。

この単純なタスクを解決するための提案やヒントをいただければ幸いです。

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

html - rvest を使用して相対パスで「次の」リンクをたどる

rvestパッケージを使用して、ページhttp://www.radiolab.org/series/podcastsから情報を取得しています。最初のページをスクレイピングした後、下部にある「次へ」リンクをたどり、その2ページ目をスクレイピングし、3ページ目に移動するなど.

次の行でエラーが発生します。

rvestHTML を調べると、明らかに気に入らない「./2/」の周りに余分な問題があることがわかります。

質問 1:rvest::follow_linkこのリンクをブラウザと同じように正しく処理する にはどうすればよいですか? (「次へ」リンクを手動で取得し、正規表現でクリーンアップすることもできますが、提供されている自動化を利用することをお勧めしrvestます。)


follow_linkコードの最後で、を呼び出しますjump_to。だから私は次のことを試しました:

コードを掘り下げると、元のパス (「/podcasts」) の最後の部分を取り除くためXML::getRelativeURLに使用する に問題があるようです。dirname

質問 2:rvest::jump_to相対パスを取得しXML::getRelativeURLて正しく処理する にはどうすればよいですか?

0 投票する
3 に答える
5209 参照

r - Rで複数のWebページのWebサイトデータをスクレイピングするためにループを使用するにはどうすればよいですか?

R で複数の Web ページからデータをスクレイピングするためにループを適用したいと考えています。何時間もいじくり回しましたが、役に立ちませんでした。どんな助けでも大歓迎です!!!

これは機能します:

ただし、これをループで書き込もうとすると、エラーが発生します

エラー:

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

r - R で複雑な HTML テーブルを data.frame にスクレイピングする

米国最高裁判所判事に関するウィキペディアのデータをRにロードしようとしています:

問題は、データの形式が正しくないことです。実際の HTML テーブルに表示される名前 (「James Wilson」) ではなく、実際には「Lastname, Firstname」として 1 回、次に「Firstname Lastname」として 2 回表示されます。

その理由は、実際にはそれぞれに invisible が含まれているためです:

同じことが、数値データを含む列にも当てはまります。HTML テーブルをソートするには、この余分なコードが必要だと推測しています。ただし、R のテーブルから data.frame を作成しようとするときに、これらのスパンを削除する方法がわかりません。

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

r - RでJPGファイルを印刷/表示する

rvestパッケージを使用しているときに、R でlego_movieのポスターを印刷/表示しようとしていますが、失敗しています。これが私の試みです:

EBImageにはdisplay機能があると思います。このパッケージは にインストールできませんR-3.1.2。次の警告メッセージが表示されますpackage ‘EBImage’ is not available (for R version 3.1.2)

EBImage私の質問の結論は、パッケージを使用せずに R で jpeg ファイルをディスプレイとして表示する方法です。

関連するいくつかの質問:

R のベース グラフィックスを使用して JPG 画像をプロットする

プロットを画像としてディスクに保存する方法は?

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

r - rvest による画像タイトルのスクレイピング

R の rvest パッケージと SelectorGadget を使用して CSS セレクターを識別し、Glassdoor (API は要約評価のみを提供します) から個々の評価を取得しようとしています。

問題は、Glassdoor が評価を伝えるために画像を使用していることですが、数値による評価は画像のタイトルに含まれています。SelectorGadget を使用して、以下のコード スニペットから「Comp & Benefits」テキストを取得できますが (「#EmployerReviews undecorated li」を使用)、span...title= セクションの「2.0」に到達できません。私が欲しいものです。

過去に画像タイトルのスクレイピングに成功した人、またはこれらの個々の評価を取得する別の方法を知っている人はいますか?

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

html - rvest または httr を使用して Web ページの非標準フォームにログインする

rvest を使用して、フォームでの電子メール/パスワード ログインが必要な Web ページをスパイダーしようとしています。

これにより、次のエラーメッセージが表示されます。

オブジェクト 'ctl00$Header2$HeaderTop1$Button1' が見つかりません

submit パラメータを指定せずにフォームを送信すると、次のようになります。

また、この質問で述べたように、パラメーターを httr に直接渡そうとしました: How can I POST a simple HTML form in R? 、しかし、「送信」パラメーターは、逆引用符 (``)、引用符、または引用符なしの送信ボタンを受け入れませんでした:

R セッションからログインして、ログイン ウォールの背後にあるデータをスパイダーする方法についてのアイデアはありますか?