スクリプトへのログインに問題があります。私がstackoverflowで見つけた他のすべての良い答えにもかかわらず、どの解決策も私にはうまくいきませんでした。
私は博士号の研究のためにウェブフォーラムをスクレイピングしています。そのURLは http://forum.axishistory.com.
私がスクレイプしたいウェブページはメンバーリストです-すべてのメンバープロファイルへのリンクを一覧表示するページ。ログインしている場合にのみメンバーリストにアクセスできます。ログインせずにメンバーリストにアクセスしようとすると、ログインフォームが表示されます。
メンバーリストのURLは次のとおりです。 http://forum.axishistory.com/memberlist.php.
私はhttr-packageを試しました:
library(httr)
members <- GET("http://forum.axishistory.com/memberlist.php", authenticate("username", "password"))
members_html <- html(members)
出力はログイン形式です。
次にRCurlを試しました:
library(RCurl)
members_html <- htmlParse(getURL("http://forum.axishistory.com/memberlist.php", userpwd = "username:password"))
members_html
出力はログイン形式です-再び。
次に、このトピックのlist()関数を試しました- パスワードで保護されたWebサイトをRでスクレイプする :
handle <- handle("http://forum.axishistory.com/")
path <- "ucp.php?mode=login"
login <- list(
amember_login = "username"
,amember_pass = "password"
,amember_redirect_url =
"http://forum.axishistory.com/memberlist.php"
)
response <- POST(handle = handle, path = path, body = login)
そしてまた!出力はログイン形式です。
次に取り組んでいるのはRSeleniumですが、これらすべての試みの後で、おそらく何か(おそらく完全に明白なもの)が欠落しているかどうかを把握しようとしています。
私はここで他の関連する投稿を見ましたが、私のケースにコードを適用する方法を理解できませんでした:
Rを使用してCookieを必要とするSSLページからzipファイルをダウンロードする方法
Rを使用してCookieを必要とするSSLページからzipファイルをダウンロードする方法
https://stackoverflow.com/questions/27485311/scrape-password-protected-https-website-in-r
Rを使用したWebスクレイピングパスワードで保護されたWebサイト
回答:
回答№1の場合は7サイモンのおかげで私はここで答えを見つけました: rvestまたはhttrを使用してWebページの非標準フォームにログインする
library(rvest)
url <-"http://forum.axishistory.com/memberlist.php"
pgsession <-html_session(url)
pgform <-html_form(pgsession)[[2]]
filled_form <- set_values(pgform,
"username" = "username",
"password" = "password")
submit_form(pgsession,filled_form)
memberlist <- jump_to(pgsession, "http://forum.axishistory.com/memberlist.php")
page <- html(memberlist)
usernames <- html_nodes(x = page, css = "#memberlist .username")
data_usernames <- html_text(usernames, trim = TRUE)