Jump to content

Ajuda com codigo XPATH


Postagens Recomendadas

Fala pessoal, tudo bem?

Seguinte, estou tentando realizar um webscraping no site casa dos dados, porém estou com problemas na extração dos dados, pois preciso configurar um comando, para buscar uma informação dentro de uma DIV, e retornar a correspondência.

Vou colar abaixo uma parte do HTML como modelo e que estou usando para testes:

<div class="columns" data-v-a664d02d>flex
  <div class="column is-9" data-v-a664d02d>
     <div class="columns is-multiline" data-v-a664d02d>flex
       <div class="column is-narrow" data-v-a664d02d>
       <p class="has-text-weight-bold" data-v-a664d02d>CNPJ</p>
       <p data-v-a664d02d>25.007.358/0001-77</p>
      </div>
     <div class="column is-narrow" data-v-a664d02d>
       <p class="has-text-weight-bold" data-v-a664d02d>Razão Social</p>
       <p data-v-a664d02d>CLAUDIA OLIVEIRA DE TOLEDO SERVICOS MEDICOS E PRATICAS INTEGRATIVAS</p>
      </div>
     <div class="column is-narrow" data-v-a664d02d>
       <p class="has-text-weight-bold" data-v-a664d02d>Nome Fantasia</p>
       <p data-v-a664d02d>ZAMBHALA HOUSE</p>
    </div>

 

Nesse exemplo, temos 3 informações para extrair (CNPJ, Razão Social e Nome Fantasia).

Usando o comando //p[contains(text(), 'CNPJ')]/text() 

image.png

estou recebendo o retorno do texto CNPJ, porém, eu preciso que retorno o numero do mesmo, que se encontra na linha abaixo.
O mesmo vale para qualquer pesquisa, ou seja, se eu informar Razão Social, preciso que retorne o nome da razão.

Segue abaixo o link de algumas paginas para verificação do html
https://casadosdados.com.br/solucao/cnpj/21.649.741-SIMONE-PEREIRA-DE-FREITAS-21649741000178

https://casadosdados.com.br/solucao/cnpj/OTICA-SERRA-E-MAR-DE-ANGRA-LTDA-29737070000109

Alguém consegue me ajudar?

  • Curtir 1
Link to comment
Compartilhe em outros sites

  • Pessoal da TecnoSpeed

Olá @Gustavo Reiss só por curiosidade qual linguagem de programação está usando para o WebScraping? (Fiquei curioso quanto a sintaxe //div e etc) - Utilizo Python e não conhecia essa forma
 

Uma curiosidade, percebi que está utilizando Web Scraping para obter os dados de CNPJs já pensou em obter eles via API. (Nos trabalhos que precisei realizar isso usei APIs como cnpj.ws CNPJá) ?

  • Curtir 1
Link to comment
Compartilhe em outros sites

Olá @Thanael, tudo bem?

Eu realizo 2 processos para a extração dos dados.

Através da busca avançada, dentro do casa dos dados, eu seleciono o ramo/perfil de clientes de uma determinada área, e realizo a extração dos dados iniciais, gerando um arquivo *.CSV

Esse arquivo, posteriormente, eu carrego na ferramenta AUTOMA, que através de um Workflow que eu já configurei, realiza a captura dos dados de todas as paginas.

Tanto o XPATH como o CSS, são linguagens para busca de informações em nós de sites em XML e HTML, portanto, ele responde a uma configuração. 
 

No exemplo //div[p/text()='UF']/p/a/text(), eu estou dizendo para o AUTOMA, buscar no SITE X, a informação UF...a informação UF está dentro de alguma DIV em formato de TEXTO...

Ele localizando essa div com essa informação, ele me retorna o TEXTO da div relacionada (que normalmente fica na linha de baixo).

image.png

 

Eu não uso APIs pois não entendo rsrs, aprendi a mexer e configurar o AUTOMA e o básico de XPATH apenas para atender a minha necessidade. 😄

E essas APIs tem custo tambem.

  • Curtir 2
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...