Рубрики
Без рубрики

Получение информации Informações do Transfermarkt: UMA Trintução Ao Web Соскоб

Conseguir Dados E TRUSSHORDA-LOS EM Informação é База de áreas da Computação como Ciência dado … Теги с Python, Beautifulsoup, Pandas, Transfermarkt.

Conseguir Dados E Transformá-los em informação é база de áreas da computação como como a Ciência de dados. Às vezes Essa Obtenção é Bemples, POR Exemplo, WODê, AGORA MESMO, посещающий сайт Pubero Brasileiro Dados.gov.br E Conseguir Acesso DiversoS Arquivos de Dados Brutos E DEPOIS Realizar A Análise dum arquivo .csv (UM Tipo de Arquivo Que Transmerite Dados) de Forma Fácil, Smples e Rápida.

CONTUDO, EM Algumas Situações Essa Obtenção é dificateulta, Por Exemplo, PORE PORE PRECISAR CHEENBER DADOS Que Estão Disponíveis Somente Emma Página Da Web Para Realizar UMA Anlise. Nessa Situação Poke Wode Usar Biblioteca Красивый суп сделать Python Para Realizar UM Web Scraping , isto é, Ума распагем dos dados que você a na página.

Библиотека красивый суп

Красивый суп é Biblioteca Mais Parian Para Chentber Dados Web De Python, ELA ELE É CAPAZ DE REALIZAR A EXTRACHãO DE DADOS DE ARQUIVOS HTML E XML. Além de Ossuir Vários Métodos Que Facilitam Busca de dados Esceificos EM Páginas Web.

ОС Dados que Usaremos

Para o Учебник, IremoS Extrair Dados Do Portal Transfermarkt que ém УЗм сайт que contém notícias e dados sobre jogos, tranferêias, клубы e jogadores de futebol.

Página Enibical Do Transfermarkt

O nome, o país da liga de origem e o preço do liga de origem e o preço dos 25 jogadores mais caros da história do Clube AFC Ajax, Essas Informações Podem Ser Encontradas Na Página Do Transfermarkt Отказ Página Com As Informações Sobre, как 25 Майорес Трансферцис делают AFC AJAX

Обтурдо ОС Дадес

ARTES De Obter OS Dados EM SI, IREMOS Importar As Bibliotecas Burnias Para Execução Do Programa, Essas Serão: Красивый суп , Пандас е Запросы Отказ

import requests
from bs4 import BeautifulSoup
import pandas as pd

DEPOIS DISOS, IREMOS CENTER A A Página No Nosso Programa Usando Páblioteca запросы, Que Solicita Как Informações da Página, E A Biblioteca Beautifulsoup, Que Transforma OS DADOS CHEECTOS Нет запросов (UM Objeto ответ ) Beautifulsoup que será usado na exalção dos dados.

"""
Para realizar a solicitação à página temos que informar ao site que somos um navegador
e é para isso que usamos a variável headers
"""
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36'}

# endereco_da_pagina representa o link que direciona a página com os dados
endereco_da_pagina = "https://www.transfermarkt.co.uk/ajax-amsterdam/transferrekorde/verein/610/saison_id//pos//detailpos/0/w_s//altersklasse//plus/1"

# no objeto_response iremos realizar o download da página da web 
objeto_response = requests.get(endereco_da_pagina, headers=headers)

"""
Agora criaremos um objeto BeautifulSoup a partir do nosso objeto_response.
O parâmetro 'html.parser' representa qual parser usaremos na criação do nosso objeto,
um parser é um software responsável por realizar a conversão de uma entrada para uma estrutura de dados.
"""
pagina_bs = BeautifulSoup(objeto_response.content, 'html.parser')

Pagina_BS агора É UMA Variável Que Contém ToDo O HTML Na Nossa Página.

AGORA VAMOS EXTRAIR OS DADOS QUE ESTãO NA NOSSA VARIáVEL, обратите внимание на que как informações Que Precisamos Estão Em Uma Tabela. CADA LINHA DESSA TABELA SEPTA UM Jogador, COM SEU NOME, представителю без HTML POR UMA Âncora ( ) COM CLASSE “SPIELPROFIL_TOOLTIP”, PAIS DE LIGA DE OREGEME, представитель COMO UMA Bandeira de Classe “Flaggenrahmen” NA Sétima Coluna ( ) de Cada linha, e custo refado por uma célula ( ) de classe “Rects HauptLink”.

Vamos Então Conseguir Esse Dados Usando Biblioteca Beautifulsoup.

Sameiro Iremos Conseguir OS NOS Jogadores

nomes_jogadores = [] # Lista ordenada dos nomes de todos os jogadores

# O método find_all() consegue retornar todas as tags que cumprem as restrições dentro dos parênteses
tags_jogadores = pagina_bs.find_all("a", {"class": "spielprofil_tooltip"})
# No nosso caso estamos encontrando todas as âncoras com a classe "spielprofil_tooltip"

# Agora iremos conseguir somente os nomes de todos os jogadores
for tag_jogador in tags_jogadores:
    nomes_jogadores.append(tag_jogador.text)

Agora Conseguiremos OS Países Das Ligas de Origem dos jogadores.

pais_jogadores = [] # Lista ordenada dos nomes do país da liga de origem de todos os jogadores

tags_ligas = pagina_bs.find_all("td",{"class": None})
# Agora iremos receber todas as células da tabela que não possuem classe

for tag_liga in tags_ligas:
    # A função find irá encontrar a primeira imagem cuja classe é "flaggenrahmen" e possui um título
    imagem_pais = tag_liga.find("img", {"class": "flaggenrahmen"}, {"title":True})
    # A variável imagem_país será uma estrutura com todas as informações da imagem,
    # uma delas é o title que contem o nome do país da bandeira
    if(imagem_pais != None): # Testaremos se o método encontrou alguma correspondência
        pais_jogadores.append(imagem_pais['title'])

POM FIM Conseguiremos ОС Custos dos jogadores.

custos_jogadores = []

tags_custos = pagina_bs.find_all("td", {"class": "rechts hauptlink"})

for tag_custo in tags_custos:
    texto_preco = tag_custo.text
    # O texto do preço contém caracteres que não precisamos como £ (euros) e m (milhão) então iremos retirá-los
    texto_preco = texto_preco.replace("£", "").replace("m","")
    # Converteremos agora o valor para uma variável numérica
    preco_numerico = float(texto_preco)
    custos_jogadores.append(preco_numerico)

Agora Que ConseguiMos Todos OS Dados Que Queríamos, Vamos Tornar Eles Enterníveis Para Melhorar Qualkquer Anlise Que Desejamos Fazer. Para Isso, Usaremos Biblioteca Pandas E SUA CLASSE Dataframe Que é UMA Classe que представление UMA Estrutura de Dados Tabular, OU Seja, é parecida com uma tabela comum.

# Criando um DataFrame a partir de nossos dados
df = pd.DataFrame({"Jogador":nomes_jogadores,"Preço (milhão de euro)":custos_jogadores,"País de Origem":pais_jogadores})

# Imprimindo os dados que obtemos
print(df)

Agora Podemos Ver Todos OS Nossos Dados Buntidos Com o Web Scraping Организатос нет dataframe!

O Programa Desenvolvido Nesse Учебник Está Disponível Нет Meu Repositório do Gitlab Отказ Espero Ter Ajudado E SE VOCê estiver Com Algum Smancea Ou Dúvida Sinta-SE CONVINGADO Comentar Esse Post Ou Encify UM E-Mail Para Mim ;).

Оригинал: “https://dev.to/lisandramelo/recebendo-informacoes-do-transfermarkt-uma-introducao-ao-web-scraping-188o”