Webscraping Estados Do Ceará
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 for
para 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.
- Anterior - Página 1
- Página 2
- Próxima - Página 2