1
resposta

Não consigo navegar nas tags de um site específico.

Rapaziada, estou tentando navegar nas tags do site a seguir, porém nada que eu faça surte efeito. Acompanhei o curso quase até o final, mas nada funciona neste site. Ele até traz os dados como um todo, porém não interpreta as tags/valores que eu quero buscar.

https://www.futbin.com/latest

from pydoc import source_synopsis from bs4 import BeautifulSoup from urllib.request import Request, urlopen from urllib.error import URLError, HTTPError

url = 'https://www.futbin.com/latest' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'}

soup = BeautifulSoup(url, 'html.parser') soup = soup.find('div', class_="player_name_players_table")

try: req = Request(url, headers = headers) response = urlopen(req) print(response.read().decode('utf-8'))

except HTTPError as e: print(e.status, e.reason)

except URLError as e: print(e.reason) ![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi José,

Algumas páginas precisam de mais informações para retornar o que pedimos. Neste caso não é nada complicado, mas em alguns casos precisamos até emular um navegador para conseguir acesso ao HTML que buscamos.

Para o seu projeto basta seguir o código abaixo:

import pandas as pd
from bs4 import BeautifulSoup
from urllib.request import Request, urlopen

url = 'https://www.futbin.com/latest'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'}
req = Request(url, headers=headers)
response = urlopen(req)
html = response.read().decode('utf-8')
soup = BeautifulSoup(html, 'html.parser')
table = soup.find('table', class_="table table-new-players")

html_file = f'<html><body>{table}</body></html>'

df = pd.read_html(html_file)

# Como a função read_html retorna uma lista de DataFrame, basta acessar o primeiro item esta lista para acessar o DataFrame que buscamos
df[0]

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Espero ter ajudado