Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import urllib
- from urllib.request import Request, urlopen
- from bs4 import BeautifulSoup
- def getDadosPessoaJuridicaPortalCompras(cnpj):
- URL='https://www.infoplex.com.br/perfil/cnpj/{}'.format(cnpj)
- try:
- page = urlopen(URL)
- soup = BeautifulSoup(page, "html.parser")
- data1 = soup.find(class_='info-holder')
- data2 = data1.find_all('p')
- """
- x => <p class="outer tabela-lista-item">Id</p>
- <p class="inner" style="font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;margin-bottom: 0px;padding: 8px 8px;">3611</p>
- """
- cnpj = ''
- razao_social = ''
- nome_fantasia = ''
- unidade_cadastradora = ''
- natureza_juridica = ''
- ramo = ''
- porte = ''
- cnae = ''
- logradouro = ''
- bairro = ''
- municipio = ''
- cep = ''
- ativo = ''
- for x in data2:
- texto = x.text.strip().lower()
- if texto == 'id':
- id = x.find_next_sibling().text.strip()
- elif texto == 'cnpj':
- cnpj = x.find_next_sibling().text.strip()
- elif texto == 'razão social':
- razao_social = x.find_next_sibling().text.strip()
- elif texto == 'nome fantasia':
- nome_fantasia = x.find_next_sibling().text.strip()
- elif texto == 'unidade cadastradora':
- unidade_cadastradora = x.find_next_sibling().text.strip()
- unidade_cadastradora = unidade_cadastradora.split(':')[1].strip()
- elif texto == 'natureza jurídica':
- natureza_juridica = x.find_next_sibling().text.strip()
- natureza_juridica = natureza_juridica.split(':')[1].strip()
- elif texto == 'ramo do negócio':
- ramo = x.find_next_sibling().text.strip()
- ramo = ramo.split(':')[1].strip()
- elif texto == 'porte da empresa':
- porte = x.find_next_sibling().text.strip()
- porte = porte.split(':')[1].strip()
- elif texto == 'cnae':
- cnae = x.find_next_sibling().text.strip()
- cnae = cnae.split(':')[1].strip()
- elif texto == 'logradouro':
- logradouro = x.find_next_sibling().text.strip()
- elif texto == 'bairro':
- bairro = x.find_next_sibling().text.strip()
- elif texto == 'município':
- municipio = x.find_next_sibling().text.strip()
- municipio = municipio.split(':')[1].strip()
- elif texto == 'cep':
- cep = x.find_next_sibling().text.strip()
- elif texto == 'ativo':
- ativo = x.find_next_sibling().text.strip()
- data = {
- "cnpj":cnpj,
- "razao_social":razao_social,
- "nome_fantasia":nome_fantasia,
- "unidade_cadastradora":unidade_cadastradora,
- "natureza_juridica":natureza_juridica,
- "ramo":ramo,
- "porte":porte,
- "cnae":cnae,
- "logradouro":logradouro,
- "bairro":bairro,
- "municipio":municipio,
- "cep":cep,
- "ativo":ativo
- }
- return data
- except urllib.error.HTTPError:
- return {}
Advertisement
Add Comment
Please, Sign In to add comment