Raspagem CNPJ (inscrição e situação cadastral)

Semana passada Beatrizmilz deu-me enorme ajuda para baixar a base de dados de CNPJ salva no googledrive pelo Turicas.
Já comecei a usar, e está funcionando bem. Porém está desatualizada, quando foi salva ainda não existia o campo para e-mail.

Há alguma forma de fazer isso sem ter que baixar toda base dos ‘comprovantes de inscrição e situação cadastral’ (“https://servicos.receita.fazenda.gov.br/servicos/cnpjreva/cnpjreva_solicitacao.asp”)?

Neste site há reCaptcha v2 (botão de eu não sou robô).

Agradeço desde já a atenção.

1 curtida

Oi, Mário. Tudo bem?

Eu vi a sua ultima mensagem e me perguntei se você conhece o repositório do george santiago: https://github.com/georgevbsantiago/qsacnpj

La tem os dados cadastrais das empresas e tem email também. Ele costuma ser muito diligente na atualização.

Não estou certo se isso atende esse seu pedido de agora, mas deixo aqui a recomendação.

Obrigado Fernando.

Há algum tempo tentei uma vez mas fiquei pelo caminho.
Vou tentar de novo, qualquer problema mais específico volto ao forum.

Abs.

Eu sempre vou direto na base em SQLite: https://bit.ly/3cRruVw

Se vc tiver problemas avisa. Acredito que baste instalar o SQLite e depois ler no R usando o pacote DBI.

Bom dia Fernando.
Fiquei ontem o dia todo tentando seguir as instruções do George Santiago, consegui alguns resultados, mas o principal, os dados de inscrição e situação cadastral, não rolou.
Estou baixando agora o ‘sqlite_dados_qsa_cnpj_23-11-2020.zip’. Já instalei o DBI no R e o DB Browse (SQLite), mas nunca usei estes programas. Indicaria algum tutorial ou faço as consultas do próprio RStudio?
Abs.

Eu fiz um tutorial interno que posso compartilhar com vc aqui: acho que deve funcionar

#install.packages("DBI")
#install.packages("RSQLite")
#install.packages("dplyr")

library(stringr)
library(dplyr)

con <- DBI::dbConnect(RSQLite::SQLite(), "bd_dados_qsa_cnpj.db")

lista_de_cnpjs <- c(
  '10.626.543/0001-72',
) %>% 
  str_remove_all("[:punct:]") %>% 
  str_pad(pad = "0", width = 14, side = "left")

cnpj <- dplyr::tbl(con, "cnpj_dados_cadastrais_pj")

dados_cadastrais <- cnpj %>% 
  filter(cnpj %in% local(lista_de_cnpjs)) %>% 
  collect() %>% 
  mutate(lista_original = TRUE)
1 curtida

Boa tarde Fernando.

Seu script deu super certo. Estou exultante!

Já havia tentado uma vez e nada. Tentei de novo com as instruções do Github, não funcionava. E pior, onde trabalhei, que tinha salas grandes só de gente de TI, nunca consegui fazer este dbConnect.

Grrrrrrrrrraaaaande abraço.

Muitas vezes os dados que tenho para consultar são as raízes de CNPJ.

São compostas pelos 8 primeiros algarismos do CNPJ.

Tentei repetir o script que me encaminhou criando a coluna raiz_cnpj, mas surgiu o

Erro: str_extract() is not available in this SQL variant

lista_de_raizes_cnpjs <- c(‘10626543’,‘01575709’,‘29345741’,
‘20008729’,‘13513325’)

Criando a tabela também com as raízes do CNPJ.

library(stringr)
dados_cadastrais <- cnpj %>%
dplyr::select(c(4,6,7,26,27,29)) %>%
dplyr::mutate(raiz_cnpj = str_extract(cnpj, “[:digit:]{8}”)) %>%
dplyr::filter(cnpj %in% local(lista_de_raizes_cnpjs)) %>%
dplyr::collect() %>%
dplyr::mutate(lista_original = TRUE)

Como resolver isso?

Agradeço desde já a atenção.