Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Link desconfigurado

Ao executar o código, o link retornado aparece com uma pequena desconfiguração.

from urllib.request import urlopen
from bs4 import BeautifulSoup

url = 'https://www.icarros.com.br/ache/listaanuncios.jsp?bid=1&app=20&sop=nta_17|44|51.1_-est_SC.1_-cid_8452.1_-rai_50.1_-esc_2.1_-sta_1.1_&pas=1&lis=0&pag=1&ord=14'

response = urlopen(url)
html = response.read()
html = html.decode('utf-8')

soup = BeautifulSoup(html, 'html.parser')

anuncio = soup.find('li', {'class': 'anuncio anuncio_grupo_regional'})
cards = []
card['link'] = 'https://www.icarros.com.br' + anuncio.find('a', {'class' : 'clearfix'}).get('href')
card

https://www.icarros.com.br/comprar/fiat/argo/2020/dm29933650?pos=2&regiao=-est_SC.1_-cid_8452.1_-esc_2.1_&cid=8452&uf=SC https://www.icarros.com.br/comprar/fiat/argo/2020/dm29933650?pos=2%C2%AEiao=-est_SC.1_-cid_8452.1_-esc_2.1_&cid=8452&uf=SC

Vou colocar a parte que desconfigurada entre * para destacá-la.

https://www.icarros.com.br/comprar/fiat/argo/2020/dm29933650?pos=2*****&reg*****iao=-est_SC.1_-cid_8452.1_-esc_2.1_&cid=8452&uf=SC https://www.icarros.com.br/comprar/fiat/argo/2020/dm29933650?pos=2*****%C2%AE*****iao=-est_SC.1_-cid_8452.1_-esc_2.1_&cid=8452&uf=SC

Como posso fazer com que o link venha corretamente?

1 resposta
solução!

Olá Tiago,

Acredito que isso seja um problema relacionado à codificação do site junto do parser utilizado (html.parser). Executando o código com o parser lxml o resultado veio correto:

# Utilizando o lxml
soup = BeautifulSoup(html, 'lxml')