Skip to content

Instantly share code, notes, and snippets.

@jtrecenti
Last active August 29, 2015 14:06
Show Gist options
  • Select an option

  • Save jtrecenti/d4d1a5b332e2310dae9f to your computer and use it in GitHub Desktop.

Select an option

Save jtrecenti/d4d1a5b332e2310dae9f to your computer and use it in GitHub Desktop.
Download de produtividades do TJSP
baixa_prod_tjsp <- function(d, mes='9', ano='2011', id_vara='1') {
curl <- getCurlHandle()
aux <- curlSetOpt(cookiejar = tempfile(), useragent = "R", followlocation = TRUE, ssl.verifypeer = FALSE, curl = curl)
url0 <- 'http://www.tjsp.jus.br/Institucional/CanaisComunicacao/Transparencia/Produtividade/Default.aspx'
html0 <- getURL(url0, curl=curl)
viewstate <- xmlGetAttr(getNodeSet(htmlParse(html0), "//input[@id='__VIEWSTATE']")[[1]], "value")
eventval <- xmlGetAttr(getNodeSet(htmlParse(html0), "//input[@id='__EVENTVALIDATION']")[[1]], "value")
post_var <- list('ctl00_ctl00_RadStyleSheetManagerportal_TSSM'=';|635458787180000000:2245c52c:8647d86b:6bfb0386:2c88367b:5c293c13:4405087d:c7942ac2:5aed19f8:55c8aca8:274b8a10:a7c49542:a1997d73:466a7156:33795bb3:ca77e845:4ad86637:a260866a;Telerik.Web.UI, Version=2014.1.403.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4:pt-BR:ca584452-327f-4858-bf00-fb22c6f6fd75:fe53831e:bc8339f7:1c2121e:e24b8e95',
'ctl00_ctl00_RadScriptManager1_TSM'=';;System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35:pt-BR:33363de7-7c08-435e-ab35-682b2ed2c688:ea597d4b:b25378d2;;Telerik.Web.UI, Version=2014.1.403.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4:pt-BR:ca584452-327f-4858-bf00-fb22c6f6fd75:16e4e7cd:365331c3:24ee1bba:7165f74:f46195d3:2003d0b8:88144a7a:1e771326:aa288e2d:258f1c72',
'__EVENTTARGET'='ctl00$ctl00$cphConteudoGeral$ContentPlaceHolder1$rcbUnidade',
'__EVENTARGUMENT'='{"Command":"Select","Index":1}',
'__LASTFOCUS'='',
'__VIEWSTATE'=viewstate,
'__EVENTVALIDATION'=eventval,
'ctl00$ctl00$Buscador1$txtCampoBusca_text'='Pesquisar',
'ctl00$ctl00$Buscador1$txtCampoBusca'='',
'ctl00$ctl00$cphConteudoGeral$ContentPlaceHolder1$ddlAno'=ano,
'ctl00$ctl00$cphConteudoGeral$ContentPlaceHolder1$ddlMes'=mes,
'ctl00_ctl00_cphConteudoGeral_ContentPlaceHolder1_btnMagistrados_ClientState'='',
'ctl00_ctl00_cphConteudoGeral_ContentPlaceHolder1_btnUnidades_ClientState'='',
'ctl00$ctl00$cphConteudoGeral$ContentPlaceHolder1$rcbForoOuMagistrado'='LAPA',
'ctl00_ctl00_cphConteudoGeral_ContentPlaceHolder1_rcbForoOuMagistrado_ClientState'='',
'ctl00$ctl00$cphConteudoGeral$ContentPlaceHolder1$rcbUnidade'='01 CIVEL',
'ctl00_ctl00_cphConteudoGeral_ContentPlaceHolder1_rcbUnidade_ClientState'=sprintf('{"logEntries":[],"value":"%d","text":"DOWNLOAD","enabled":true,"checkedIndices":[],"checkedItemsTextOverflows":false}', as.numeric(id_vara)))
html1 <- postForm(url0, .params=post_var, curl=curl)
viewstate <- xmlGetAttr(getNodeSet(htmlParse(html1), "//input[@id='__VIEWSTATE']")[[1]], "value")
eventval <- xmlGetAttr(getNodeSet(htmlParse(html1), "//input[@id='__EVENTVALIDATION']")[[1]], "value")
dados <- list('ctl00_ctl00_RadStyleSheetManagerportal_TSSM'=';|635458787180000000:2245c52c:8647d86b:6bfb0386:2c88367b:5c293c13:4405087d:c7942ac2:5aed19f8:55c8aca8:274b8a10:a7c49542:a1997d73:466a7156:33795bb3:ca77e845:4ad86637:a260866a;Telerik.Web.UI, Version=2014.1.403.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4:pt-BR:ca584452-327f-4858-bf00-fb22c6f6fd75:fe53831e:bc8339f7:1c2121e:e24b8e95',
'ctl00_ctl00_RadScriptManager1_TSM'=';;System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35:pt-BR:33363de7-7c08-435e-ab35-682b2ed2c688:ea597d4b:b25378d2;;Telerik.Web.UI, Version=2014.1.403.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4:pt-BR:ca584452-327f-4858-bf00-fb22c6f6fd75:16e4e7cd:365331c3:24ee1bba:7165f74:f46195d3:2003d0b8:88144a7a:1e771326:aa288e2d:258f1c72',
'__EVENTTARGET'='',
'__EVENTARGUMENT'='',
'__LASTFOCUS'='',
'__VIEWSTATE'=viewstate,
'__EVENTVALIDATION'=eventval,
'ctl00$ctl00$Buscador1$txtCampoBusca_text'='Pesquisar',
'ctl00$ctl00$Buscador1$txtCampoBusca'='',
'ctl00$ctl00$cphConteudoGeral$ContentPlaceHolder1$ddlAno'=ano,
'ctl00$ctl00$cphConteudoGeral$ContentPlaceHolder1$ddlMes'=mes,
'ctl00_ctl00_cphConteudoGeral_ContentPlaceHolder1_btnMagistrados_ClientState'='',
'ctl00_ctl00_cphConteudoGeral_ContentPlaceHolder1_btnUnidades_ClientState'='',
'ctl00$ctl00$cphConteudoGeral$ContentPlaceHolder1$rcbForoOuMagistrado'='LAPA',
'ctl00_ctl00_cphConteudoGeral_ContentPlaceHolder1_rcbForoOuMagistrado_ClientState'='',
'ctl00$ctl00$cphConteudoGeral$ContentPlaceHolder1$rcbUnidade'='01 CIVEL',
'ctl00_ctl00_cphConteudoGeral_ContentPlaceHolder1_rcbUnidade_ClientState'='',
'ctl00$ctl00$cphConteudoGeral$ContentPlaceHolder1$btnClicar'='Gerar relatório')
arq <- sprintf('%04d_%s_%02d.pdf', as.numeric(id_vara), as.numeric(ano), as.numeric(mes))
cat(arq, '\n')
pdf <- postForm(url0, .params=dados, curl=curl)
writeBin(as.vector(pdf), paste0(d, '/', arq))
}
# baixa_prod_tjsp(d='path/to/', mes=4, ano=2013, id_vara=37)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment