パッケージ RCurl を使用してブラジルの Web サイトから価格をダウンロードしていますが、データをロードするには、最初にフォームから都市を選択する必要があります。
ウェブサイトは次のとおりです: " http://www.muffatosupermercados.com.br/Home.aspx "
CURITIBA、id=53 からの価格が必要です。
この投稿で提供されている解決策を使用しようとしています:「RCurl で Cookie を使用するにはどうすればよいですか?」
そして、これは私のコードです:
library("RCurl")
library("XML")
#Set your browsing links
loginurl = "http://www.muffatosupermercados.com.br"
dataurl = "http://www.muffatosupermercados.com.br/CategoriaProduto.aspx?Page=1&c=2"
#Set user account data and agent
pars=list(
id = "53"
)
agent="Mozilla/5.0" #or whatever
#Set RCurl pars
curl = getCurlHandle()
curlSetOpt(cookiejar="cookies.txt", useragent = agent, followlocation =TRUE, curl=curl)
#Also if you do not need to read the cookies.
#curlSetOpt( cookiejar="", useragent = agent, followlocation = TRUE, curl=curl)
#Post login form
html=postForm(loginurl, .params = pars, curl=curl)
#Go wherever you want
html=getURL(dataurl, curl=curl)
C1 <- htmlParse(html, asText=TRUE, encoding="UTF-8")
Preco <- C1 %>% html_nodes(xpath = "//li[@class='preco']") %>% html_text(xmlValue, trim = TRUE)
しかし、コードを実行すると、意図したページではなく、フォームの背後にあるページしか取得できません。
" http://www.muffatosupermercados.com.br/CategoriaProduto.aspx?Page=1&c=2 "
私もクッキーで遊んでみましたが、うまくいきませんでした。
このフォームを送信して正しいページをロードする方法を知っている人はいますか?
事前に...