Iは、IがrvestとRCurlが、両方の場合にを試みたスクレイプ
https://www.mcxindia.com/market-data/spot-market-price
以下のページでテーブルを抽出する取得ページを希望rvest又はRCurl又はHTTRを用いてRでページダウンロードしたものがブラウザに表示されているものとは異なります。私は私が検出または任意の助けをいただければ幸いです
従うことができませんリダイレクトのいくつかのフォームがあると仮定しています
PS:
:phantomjsこれは私が今まで試してみました何に興味を持っていません
1. HTTR
base_url <- "https://www.mcxindia.com/market-data/spot-market-price" ua <- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" library(httr) library(XML) doc <- POST(base_url,user_agent(ua),set_cookies(`_ga` = "GA1.2.543290785.1505100652",`_gid`="GA1.2.1409943545.1505881384",`_gat`="1")) doc <- htmlParse(doc) poptable<-readHTMLTable(doc,which=7)
結果
:データが見つかりません!!!!2. RCurl
library(RCurl) curl <- getCurlHandle() curlSetOpt(curl = curl, ssl.verifypeer = FALSE, useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", timeout = 60, followlocation = TRUE, cookiejar = "./cookies", cookiefile = "./cookies") newDoc = getURL("https://www.mcxindia.com/market-data/spot-market-price", curl=curl) newDoc <- htmlParse(newDoc) poptable<-readHTMLTable(newDoc,which=7)
結果
:データが見つかりません!!!!また、私はExcelファイルを取得する方法を知って興味がある(小さなエクセルのアイコンを参照してください)
PhantomJSをソリューションとして明示的に除外する理由はありますか?いくつかのケースでは、PhantomJS、RSeleniumなどのようなデータを掻き集めることは不可能です。それを調べなければ、おそらくあなたの質問を解決することができないでしょう。 – TomS
@TomS私たちの環境内では、phantomJSを許可しないシステム要件です。 rvestを使用することは可能です。私は私の最後にコードを完了したら、私は答えを投稿します。私は近づいています.... –
しかし、あなたとは対照的に、 RSelenium PhantomJSはどんな種類のインストールを必要としませんか?私は自分の仕事用マシンにも管理者権限を持っていませんが、機能します。ただし、rvest(またはhttrなど)のみを使用しているソリューションに近い場合は、読んで勉強することができます。 – TomS