Git Product home page Git Product logo

pedrowill-dev / bs4-crawler-mercadolivre Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 125 KB

Este repositório se concentra na análise de dados obtidos de uma única página do Mercado Livre. Com ênfase na extração eficiente e na análise de dados, oferece um exemplo prático e instruções detalhadas. Os dados extraídos são processados para identificar padrões e tendências.

License: MIT License

Jupyter Notebook 100.00%

bs4-crawler-mercadolivre's Introduction

RESUMO: Utilizando a Biblioteca Beautiful Soup para Web Scraping

  1. Introdução à Biblioteca Beautiful Soup

    • Propósito: Extrair informações de páginas da web
    • Exemplo: Coletando dados do site do Mercado Livre

    https://www.crummy.com/software/BeautifulSoup/bs4/doc.ptbr/

  2. Definindo Valores para Extrair

    1. Identificar os valores a serem extraídos (por exemplo, título, preço, avaliação) image

    2. Escolher uma classe pai que contenha esses valores image

  3. Configurando o Código

    1. Importar bibliotecas necessárias: Beautiful Soup, pandas, requests, regex
     import re
     import requests
     import bs4
     import pandas as pd
    1. Fazer uma requisição para obter o conteúdo do site
     response = requests.get(host).content
  4. Extraindo Informações

    1. Recuperar informações de título para testar a funcionalidade
    2. Usar métodos como find_all para localizar elementos específicos com base em valores de classe
    container_items = soup.find_all("div", class_="ui-search-result__content-wrapper")
  5. Processamento de Dados

    1. Definir funções para processar e retornar os dados extraídos
    2. Utilizar regex para extrair informações de preço e avaliação
       
     def add_product(texto):
       # Expressões regulares para extrair o título, preço e avaliação
       regex_preco = r'R\$(\d+\.?\d*)'
    
       # Encontrar correspondências usando regex
       titulo = texto.split('por ')[0]
       preco = re.search(regex_preco, texto).group(1)
       try:
           avaliacao =  re.search(r'\((\d+)\)', texto).group(1)
           avaliacao = avaliacao.replace('(', '').replace(')', '')
       except:
           avaliacao = 0
    
    
       return {
           'title': titulo,
           'price': float(preco),
           'assessment': int(avaliacao)
       }
  6. Criando um DataFrame

    1. Armazenar os dados extraídos em uma lista para conversão em DataFrame
      for item in container_items:
    
       data.append(add_product(item.text))
    1. Converter a lista em um DataFrame para facilitar a manipulação de dados
    df = pd.DataFrame(data)
  7. Filtrar os dados

    1. Realizar filtragem de dados (por exemplo, filtrar avaliações diferentes de zero)
    df = df.query('assessment >= 1000')
    df = df.query('price >= 1.000')
    1. Conduzir análises adicionais ou métricas sobre os dados extraídos
    import matplotlib.pyplot as plt
    
     df = df.sort_values(by='price', ascending=False)
     
     # Criando o gráfico de barras
     plt.figure(figsize=(12, 6))
     plt.barh(df['title'], df['price'], color='skyblue')
     plt.xlabel('Preço (R$)')
     plt.ylabel('Produto')
     plt.title('Preços das Geladeiras')
     plt.gca().invert_yaxis()  # Inverter a ordem dos itens para o mais caro aparecer primeiro
     plt.show()
    1. Visualização verticial dos valores X e Y, preço e produto da nossa extração! image
  8. Conclusão

    1. Apresentar o DataFrame gerado
    2. Demonstrar capacidades de filtragem e análise de dados
    3. Destacar o potencial para análises ou métricas adicionais utilizando os dados extraídos

bs4-crawler-mercadolivre's People

Contributors

pedrowill-dev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.