No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Recolecci贸n de datos con ChatGPT como asistente

6/12
Recursos

Aportes 7

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

6. Recolecci贸n de datos con ChatGPT como asistente

  • Recolecta datos de APIs, bases de datos y distintos repositorios

Yo utilic茅 chatgpt para generar un c贸digo de WebScrapping que me permitiera obtener el contenido de las etiquetas div una p谩gina y almacenar su contenido en una lista, todo esto usando la librer铆a Selenium y Xpath para hacer la b煤squeda de elementos.

from selenium import webdriver
from selenium.webdriver.common.by import By

# Inicializar el controlador de Selenium
driver = webdriver.Chrome()

# URL a consultar
url = "https://www.ejemplo.com"

# Abrir la URL en el navegador controlado por Selenium
driver.get(url)

# Utilizar XPath para encontrar todas las etiquetas div en la p谩gina
etiquetas_div = driver.find_elements(By.XPATH, "//div")

# Crear una lista para almacenar el contenido de las etiquetas div
contenido_etiquetas = []

# Almacenar el contenido de las etiquetas div en la lista
for etiqueta_div in etiquetas_div:
    contenido_etiquetas.append(etiqueta_div.text)

# Imprimir el contenido almacenado en la lista
for contenido in contenido_etiquetas:
    print(contenido)

# Cerrar el navegador controlado por Selenium
driver.quit()

https://chat.openai.com/share/741c65d1-d6fb-4d0a-9a03-9958dd3950ed

import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
import requests
from bs4 import BeautifulSoup
import pandas as pd

# Funci贸n para realizar el web scraping
def realizar_web_scraping():
    url = "https://www.agronegocios.co/agricultura"
    response = requests.get(url)

    if response.status_code == 200:
        soup = BeautifulSoup(response.text, "html.parser")
        noticias = soup.find_all("a", class_="title-kicker")

        titulos = []
        enlaces = []

        for noticia in noticias:
            titulo = noticia.find("h3").text.strip()
            enlace = "https://www.agronegocios.co" + noticia.get("href")
            titulos.append(titulo)
            enlaces.append(enlace)

        df = pd.DataFrame({"T铆tulo": titulos, "Enlace": enlaces})

        messagebox.showinfo("Web Scraping Completo", "Se ha completado el web scraping.")
        mostrar_resultados(df)
    else:
        messagebox.showerror("Error", "No se pudo obtener el contenido de la p谩gina.")

# Funci贸n para mostrar los resultados en una ventana secundaria
def mostrar_resultados(dataframe):
    resultados_window = tk.Toplevel(root)
    resultados_window.title("Resultados del Web Scraping")

    tree = ttk.Treeview(resultados_window, columns=("T铆tulo", "Enlace"), show="headings")
    tree.heading("T铆tulo", text="T铆tulo")
    tree.heading("Enlace", text="Enlace")

    for index, row in dataframe.iterrows():
        tree.insert("", "end", values=(row["T铆tulo"], row["Enlace"]))

    tree.pack()

# Crear la ventana principal
root = tk.Tk()
root.title("Web Scraping de AGRONEGOCIOS")

# Bot贸n para realizar el web scraping
scrape_button = tk.Button(root, text="Realizar Web Scraping", command=realizar_web_scraping)
scrape_button.pack(pady=10)

root.mainloop()

Intent茅 replicar esto desde la misma web, el c贸digo generado me sali贸 igual que en esta clase pero el dataframe sale vac铆o. En los recursos de la clase descargu茅 el archivo 鈥data_gathering_all.ipynb鈥 y veo que la diferencia es que este tiene una funci贸n llamada 鈥get_techcrunch_news()鈥 mientras que ChatGPT (tanto en la clase como en lo que repliqu茅) genera esta l贸gica solo en un ciclo 鈥For

Esta clase ha sido genial 馃殌馃敟馃摑馃挌

Disminuci贸n en el precio de la madera con la que haces los muebles que vendes Utilidad Bruta
Aumento en los sueldos de los empleados Utilidad Operativa
Aumento en la renta de las oficinas Utilidad Operativa
Aumento en el margen de contribuci贸n Utilidad Bruta
Disminuci贸n de ventas Utilidad Bruta
Contrataci贸n de nuevos operadores en la f谩brica Utilidad Operativa
Aumento en el presupuesto de gasto de mercadot茅cnia Utilidad Operativa
Compra de papeler铆a y elementos de oficina Utilidad Operativa
Aumento en el costo de bienes vendidos Utilidad Bruta
Disminuci贸n de los gastos administrativos Utilidad Operativa

Wow lo que estaba esperando y necesitando. Muy bien Carlos eres un crack Gracias