2

パッケージ 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 "

私もクッキーで遊んでみましたが、うまくいきませんでした。

このフォームを送信して正しいページをロードする方法を知っている人はいますか?

事前に...

4

0 に答える 0