私はRでいくつかのWebスクレープスクリプトをテストしています。私は多くのチュートリアルやドキュメントを読んでいますが、今までは成功していないものを試しました。R web scraper with jsessionid
私が掻き取ろうとしているURLはthis oneです。それには公開、政府データ、Webスクレイパーに対する声明はありません。ポルトガル語ですが、大きな問題ではないと思います。
いくつかのフィールドを含む検索フォームを示します。私のテストでは、特定の州( "RJ"、このフィールドは "UF")と都市( "Rio de Janeiro"、フィールド "MUNICIPIO")のデータを検索していました。 "Pesquisar"(検索)をクリックすると、それは次の出力を示しています。
http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/home.seam?buscaForm=buscaForm&codEntidadeDecorate%3AcodEntidadeInput=&noEntidadeDecorate%3AnoEntidadeInput=&descEnderecoDecorate%3AdescEnderecoInput=&estadoDecorate%3A**estadoSelect=33**&municipioDecorate%3A**municipioSelect=3304557**&bairroDecorate%3AbairroInput=&pesquisar.x=42&pesquisar.y=16&javax.faces.ViewState=j_id10
サイト:Firebugのを使用して
を、私はそれが(上記のパラメータを使用して)を呼び出すURLが見つかりました次を使用して見ることができるように、JSESSIONIDを使用しています:
library(rvest)
library(httr)
url <- GET("http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/")
cookies(url)
それはJSESSIONIDを使用しています知って、私はこの情報を確認するには、クッキー(URL)を使用して、新しいURLにそれを使用しましたこのように:
url <- read_html("http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/home.seam;jsessionid=008142964577DBEC622E6D0C8AF2F034?buscaForm=buscaForm&codEntidadeDecorate%3AcodEntidadeInput=33108064&noEntidadeDecorate%3AnoEntidadeInput=&descEnderecoDecorate%3AdescEnderecoInput=&estadoDecorate%3AestadoSelect=org.jboss.seam.ui.NoSelectionConverter.noSelectionValue&bairroDecorate%3AbairroInput=&pesquisar.x=65&pesquisar.y=8&javax.faces.ViewState=j_id2")
html_text(url)
まあ、出力にはデータがありません。実際には、エラーメッセージが表示されます。基本的にセッションが終了したと英語で訳されています。
私は基本的な間違いだと思っていますが、私は周りを見渡してこれを克服する方法を見つけることができませんでした。
ありがとう、hrbmstr。それはうまくいった! –