問題タブ [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.
r - URL が変更されない場合に R を使用してテーブルをスクレイピングする
私はRでのスクレイピングに比較的慣れておらず、「rvest」を使用して幸運に恵まれましたが、解決できない問題に遭遇しました。
スクレイピングしようとしている Web サイトには、テーブルのどのページにいても同じ URL があります。たとえば、メインの Web ページは www.blah.com で、メインのテーブルが 1 つあり、同じテーブルの「次の」ページが 10 個ありますが、順番は次のページだけです (リンクできないため、実際のページにリンクしていないことをお詫びします)。仕事の都合で)。
したがって、表の 1 ページ目にいる場合、URL は www.blah.com です。表の 2 ページ目にいる場合、URL は www.blah.com などです... URL は変更されません。
これまでの私のコードは次のとおりです。私はrvestとphantomjsを組み合わせて使用しています。コードは完全に機能しますが、テーブルの対応する「次の」10ページではなく、テーブルの1ページを取得するためだけです。
そして、これはウェブサイトの表のページ 2 の HTML コードです (表の他のすべてのページは、2 を 3 に置き換えるなど、リストの上の方にあることを除いて同じです)。
あなたが与えることができるアドバイス/助けをありがとう!
r - 見出しの下のすべての子段落をスクレイプします (できれば rvest)
私の目的はlibrary(tm)
、かなり大きな単語文書でツールキットを使用することです。ドキュメントという単語には適切なタイポグラフィがあるh1
ため、メイン セクション、サブヘッダー、h2
およびh3
サブヘッダーに使用しています。各セクションを比較してテキスト マイニングしたい (各セクションの下のテキストh1
- 小見出しはほとんど重要ではないため、含めたり除外したりできます。)
私の戦略は、worddocument を html にエクスポートしてから、パッケージを使用しrvest
て段落を抽出することです。
<p>
ですべてを抽出できますがhtml_nodes("p")
、それは 1 つの大きなスープにすぎません。それぞれを個別に分析する必要がありh1
ます。
おそらく最良の方法は、見出しp
ごとにタグのベクトルを含むリストです。h1
そして、おそらく何かのようなループがありますfor (i in 1:length(html_nodes(fil, "h1"))) (html_children(html_nodes(fil, "h1")[i]))
(これは機能していません)。
内部から単語htmlを整理する方法がある場合のボーナスrvest
xml - RCurl - フォームを送信してページをロードする
パッケージ RCurl を使用してブラジルの Web サイトから価格をダウンロードしていますが、データをロードするには、最初にフォームから都市を選択する必要があります。
ウェブサイトは次のとおりです: " http://www.muffatosupermercados.com.br/Home.aspx "
CURITIBA、id=53 からの価格が必要です。
この投稿で提供されている解決策を使用しようとしています:「RCurl で Cookie を使用するにはどうすればよいですか?」
そして、これは私のコードです:
しかし、コードを実行すると、意図したページではなく、フォームの背後にあるページしか取得できません。
" http://www.muffatosupermercados.com.br/CategoriaProduto.aspx?Page=1&c=2 "
私もクッキーで遊んでみましたが、うまくいきませんでした。
このフォームを送信して正しいページをロードする方法を知っている人はいますか?
事前に...
xml - 動的テーブルを使用した R ウェブスクレイピング
R での Web スクレイピングの最初の演習では、販売されているオペラのチケットを検索して、最終的に最良の取引を見つける方法を見つけようとしています。私は2つのことをしたいと思います:
- カテゴリと価格のテーブルを作成して、任意のカテゴリで最高の価格を検索できるようにします
- 最良の取引 (カテゴリごとの価格) の http アドレスへのリンクを保存します。
私が遭遇した問題は、15 個の観測値しか表示できないということですが、表はさらに大きくなる可能性があります。
更新: rvest を使用して素敵なテーブルを取得できましたが、15 ビューの制限を解決する方法がわかりません。
更新 2: json ファイルを返す POST 要求があるようです。それを使用して、より大きなテーブルを返すことができると思いますが、その方法がわかりません。
r - R - rvest を使用して、html_node を html_nodes 結果の要素に制限します
私はrvest
ウェブスクレイピングに使用しています - 試験的に、IMDB から映画のレビュースコアをスクレイピングしています。この例では、このサイトからすべてのレビューと関連するユーザー名を取得しようとしています。すべてのレビューに星の評価があるわけではないことに注意してください。私が欲しいのは、星の評価があるレビューだけです。
私の開始コード:
これは、期待どおりに 11 件のレビューのリストを返します (この映画には 11 件のレビューがあります)。
次に、このリストを移動して星評価の存在を確認しようとすると、予期しない結果が得られます。
これにより、
しかし、最初のレビューには実際には次のものしか含まれていません。
私のimg
コードによって返された は、サブセットに存在しません。 実際にhtmlをサブセット化して、その後のhtml_node()
操作を直感的に行うにはどうすればよいですか?
r - Rを使用してGoogleまたはWikipediaの検索フォームに送信する
R を使用して、文字列値に基づいて特定の Wikipedia ページに移動しようとしています。私が調べているキーワードのリストの正確なウィキペディアの URL を持っていないので (たとえば、「プログレッシブロック」という検索用語は、Progressive_rock で終わる URL に移動します)、キーワードを Google に渡すことを考えました。 Feeling Lucky」で検索し、結果のウィキペディア ページの HTML をスクレイピングします。
これを試す過程で、Rでフォームを送信するのに問題があることがわかりました.RセッションでGoogleクエリを実行し、トップページのHTMLを返す再現可能な例、またはWikipediaの検索に基づいて投稿できますか?検索ワード?
私はほとんどの Web スクレイピングに Hadley の優れた rvest パッケージを使用してきましたが、rvest のマニュアルから適用された例を使用しても、この側面を機能させることができませんでした。
どちらが返されますか:
同じ運で、ウィキペディアの検索も直接試しました。
同じエラーを返します。信じられないほど単純な間違いを犯しているのではないかと思いますが、それが何であるかわかりません。
検索フォームを送信するためのオンラインの例の多くは、httr、RCurl、および RSelenium パッケージを使用しているように見えますが、Google またはウィキペディアで機能する特定の例は見つかりませんでした。また、Google が「I'm Feeling Lucky」検索のフォーマット。同様の質問で提案されているように、WikipediRパッケージも調べました(Rを介したウィキペディアのSumbitクエリ)が、検索機能がないようです。
r - R と rvest で複数のリンクされた HTML テーブルをスクレイピングする
この記事http://www.ajnr.org/content/30/7/1402.fullには、rvest でスクレイピングしたい html テーブルへの 4 つのリンクが含まれています。
css セレクターの助けを借りて:
次のように最初のテーブルに到達することができます。
css セレクター:
4 つのテーブルにリンクするタグを含む 4 つの html ノードをすべて選択できるようにします。
このリストをループして、4 つのテーブルすべてを一度に取得するにはどうすればよいでしょうか? 最善のアプローチは何ですか?
r - Rvest エラー: タイプ 'externalptr'
rvest
PGA ゴルファーの生年月日を抽出するために使用しようとしています。スチュアート・アップルビーを試してみましょう。ESPN Web サイトhttp://espn.go.com/golf/player/_/id/11/stuart-applebyの彼のプロフィールは次のとおりです。彼のヘッドショットの横にある彼の生年月日に注目してください。
彼の生年月日は、li_node の項目 22 に含まれています。[[22]] を自分のプログラムにハード コードしないのが理想ですが、そうしてもエラーが発生します。
必要な情報が表示されますが、次のようなものです:
すべてエラーを返します:
を使用してその DOB を取得する簡単な方法はありrvest
ますか?
r - rvest を使用して Web ベースのフォーラムからメッセージをスクレイピングする方法
例のような vbulletin サイトを取り上げます。スレッドからテキスト メッセージだけをスクレイピングできるようにしたいと考えています。ただし、メッセージの css セレクターは #post_message_xxx と呼ばれ、xxx は可変 ID 番号です。
セレクターを html_nodes と部分的に一致させて、#post_message で始まるものをすべて取得するにはどうすればよいですか?
あるいは、もっと一般的な質問をするべきかもしれません。作成者をメッセージに帰属させ、メッセージの順序を追跡できるようにする場合、ページをスクレイピングするにはどうすればよいですか。
ありがとう。