//Websraping Estados Do Ceará

Websraping Estados Do Ceará

07/02/2022 Categoria : R
Tags : R , WebScraping

Para esta aplicação vamos Precisar do Pacote Rvest responsavél por fazer esse trabalho para gente.

Neste caso ele ira fazer uma raspagem do site paseando pelo html e pegando os dados que irimeos dizer para ele capturar.

Utilizaremos também o tidyverse e stringr para ajudar na manipulação de dados.

O site que vamos pegar as informações é o “https://cep.guiamais.com.br/” , que possue os ceps e endereços de todos os estados do Brasil.

library(rvest , quietly = TRUE)
library(tidyverse , quietly = TRUE)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.7
## v tidyr   1.1.4     v stringr 1.4.0
## v readr   2.1.0     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter()         masks stats::filter()
## x readr::guess_encoding() masks rvest::guess_encoding()
## x dplyr::lag()            masks stats::lag()
library(leaflet , quietly =  TRUE)
library(stringr , quietly = TRUE)

Web scraping dos bairros Fortaleza

Para fazer isso utilizaremos o seguinte código :

url_fortal <- paste0("https://cep.guiamais.com.br/busca/fortaleza-ce?page=NUMBER")
dados_fortaleza <- data.frame()
for(i in 1:400){
  url <- stringr::str_replace(url_fortal, "NUMBER", as.character(i))
  print(url)
  lista.tabelas <- xml2::read_html(url) %>% rvest::html_table(header = T)
  tabela <- lista.tabelas[[1]]
  dados_fortaleza <- dplyr::bind_rows(dados_fortaleza, tabela)
}

Neste Caso a gente definimos a url que queremos como uma variável e neste caso como a gente vai fazer uma raspagem completa precisaremos fazer um forpara pegar todos os dados por todas as páginas e com isso depois fazer nossa base de dados com os dados coletados que são dados já prontos para uso , pois o comando html_table já indifica os dados e coleta de maneira automática e pronta para o uso.

Olhando para ver se deu tudo certo

Depois de rodar o código vamos verificar se deu certo.Pois demorou um pouco KKK…

e

Depois de 400 PÁGINASSS.

dados_fortaleza %>% head()
##                                    LOGRADOURO                   BAIRRO
## 1 Rua 01 A do Cidade Jardim Fortaleza Gleba A     Prefeito José Walter
## 2                Rua 01(Lot Lagoa da Libânia)                 Mondubim
## 3                       Rua 01(Lot Urucutuba)                 Siqueira
## 4 Rua 02 A do Cidade Jardim Fortaleza Gleba A     Prefeito José Walter
## 5                       Rua 02(Lot Urucutuba)                 Siqueira
## 6            Rua 02 do Loteamento Dom Vicente Parque Presidente Vargas
##   CIDADE/ESTADO                           CIDADE_ESTADO       CEP
## 1 Fortaleza, CE     Prefeito José Walter, Fortaleza, CE 60748-540
## 2 Fortaleza, CE                 Mondubim, Fortaleza, CE 60767-702
## 3 Fortaleza, CE                 Siqueira, Fortaleza, CE 60544-760
## 4 Fortaleza, CE     Prefeito José Walter, Fortaleza, CE 60748-570
## 5 Fortaleza, CE                 Siqueira, Fortaleza, CE 60544-763
## 6 Fortaleza, CE Parque Presidente Vargas, Fortaleza, CE 60765-537

Deu tudo certo !!! consigos ver os dados que queiriamos coletados e em um data frame. Vamos ver quantas ruas temos em fortaleza.

dados_fortaleza %>% dplyr::count(BAIRRO) %>% summarise( Total = sum(n))
##   Total
## 1 10000

E por incrível que pareça temos 10.000 logradouros oficiais.Caso queira colocar em arquivo .csv esse é o código abaixo.

#write.table(dados_fortaleza, file="Fortaleza.csv", sep=";")

E caucaia ?

Web scraping dos bairros caucaia

Iremos fazer a mesma coisa só que para caucaia então ,lá vamos nos …


url_base <- paste0("https://cep.guiamais.com.br/busca/caucaia-ce?page=NUMBER")
dados <- data.frame()
for(i in 1:93){
  url <- stringr::str_replace(url_base, "NUMBER", as.character(i))
  print(url)
  lista.tabelas <- xml2::read_html(url) %>% rvest::html_table(header = T)
  tabela <- lista.tabelas[[1]]
  dados <- dplyr::bind_rows(dados, tabela)
}

dados <- dplyr::rename(dados ,BAIRRO = BAIRRO...2 , CIDADE_ESTADO = BAIRRO...4 )

Caucaia tem quantas ruas ?

dados %>% dplyr::count(BAIRRO) %>% summarise( Total = sum(n))
##   Total
## 1  2325

Foi bem mais rápido a raspagem e caúcaia tem 2325 ruas oficiais o que nos leva a conclussão que fortaleza tem 4 vezes mais ruas que caucaia e que se para se perder é melhor … bem não é bom se perder em nenhum canto.

01.Sobre mim:

Thalis Rebouças

Graduando em Estatística.

Caso queira :

02.Outras Postagens

04. Categorias

Alguma dúvida ?

© Thalis Rebouças 2023 / Todos os direitos reservados.
Site feito em Hugo com Blogdown.
Contactar