2016-05-23 4 views
1

私はR言語で作業しています。静的なURLからテーブルデータを取得するとします。 URLの拡張子は.aspxです。R - 静的なままのURLにあるテーブルの複数のページからデータをフェッチする方法

パスワードで保護されているサイトにログインすると、最初のページにテーブルがあります。しかし、テーブルには1,2などの複数のページがあります。私はテーブルの最初のページからデータを取得できますが、次のページをクリックするとURLに変更はありません。

この表のすべてのページからデータを取得し、それをcsvに書きたいと思いますが、2ページ目以降のデータをフェッチできません。私はサイトの要素を調べましたが、取り込む必要があるhtmlの正確な変更を見つけることができませんでした。私はRSeleniumをこのWeb Scappingに使用しています。

以下は、これまでに書いたコードで、表の最初のページからデータを取得できます。

library(devtools) 
library(RSelenium) 
library(XML) 
library(plyr) 

###################### 

RSelenium::checkForServer() 
remDr <- remoteDriver() 
startServer() 
remDr$open() 
site <- paste0(url) 
remDr$navigate(site) 
elem <- remDr$findElement(using="id",value="ctl00_ContentBody_rgridPDPList_ctl00") 
elemtxt <- elem$getElementAttribute("outerHTML")[[1]] 
b <- read_html(elemtxt) 
data <- b %>% 
html_nodes("table") %>%.[[1]] %>% 
html_table(fill=TRUE) 
finaldata <- data[c(-1,-2,-3),c(-1,-16,-17,-18)]### Removes the unnecessary columns and rows. 

私はreadHTMLTable(url)を使用してみましたが、それは私のために動作しませんでした、サイトはパスワードで保護されているためかもしれません。 RSeleniumを使用して、サイトはまずFirefoxブラウザで開き、次に現在のユーザー名パスワードを提供し、テーブルが存在するページに移動し、上記のコードを実行します。

私は同じことに関して私を助けてくれれば非常に義務づけられます。また、私が追加の情報を提供する必要があるかどうかを教えてください。

+0

あなたはURLを共有できますか? – epo3

+0

こんにちは@ epo3 申し訳ありません私の会社のウェブサイトであるため実際のサイトを共有することはできません。リンクを共有することはできません。しかし、私は自分の要件と同じサイトに出くわしました。 URLは[link](http://sheriff.franklincountyohio.gov/search/real-estate/results.aspx?q=searchType%3dSaleDate%26searchString%3d12%2f26%2f2014%26foreclosureType%3d%26sortType%3ddefendant)です。 しかし、このサイトには印刷販売リストのボタンがありますが、これは私には当てはまりません。 2番目のページのデータを表示するには、次のページボタンをクリックする必要があります。 –

+0

URLはhttp://sheriff.franklincountyohio.gov/search/real-estate/results.aspx?q=searchType%3dSaleDate%26searchString%3d12%2f26%2f2014%26foreclosureType%3d%26sortType%3ddefendantです。しかし、このサイトにはボタンをクリックすると1ページの詳細がすべて表示されます。 テーブルのすべてのページからデータを1つずつスクラップするだけで、ボタンをクリックする必要はありません。 –

答えて

0

これは、サイトの次のページボタンでclickElementを使用して達成されました。おかげさまで

関連する問題