# De copiar y pegar a automatizar: 3 scripts de Python para Marketing B2B (creados con IA)

> Descubre cómo pasé de hacer copy-paste manual a usar la IA para crear scripts en Python que extraen datos valiosos para mis campañas B2B.

- URL: https://pacoforet.com/posts/de-copiar-y-pegar-a-automatizar-3-scripts-de-python-para-marketing-b2b-creados-con-ia/
- Autor: Paco Foret
- Publicado: 2026-02-19

Construir bases de datos para prospección B2B solía ser un proceso estrictamente manual: horas copiando perfiles de LinkedIn, inspeccionando el código fuente de webs corporativas o revisando cambios de precios en competidores.

Como profesional de marketing y operaciones, la automatización avanzada parecía reservada a perfiles de ingeniería de datos. La irrupción de asistentes de código cambia esa dinámica: lo importante no es memorizar la sintaxis de Python, sino estructurar el requerimiento de negocio y validar los datos resultantes.

A continuación, tres casos prácticos de scripts en Python creados con IA para automatizar la extracción de datos B2B.

---

### 1. Detección de tecnologías web (Tech Stack)

Si comercializas una solución B2B que se integra con plataformas específicas (por ejemplo, Shopify, WordPress o HubSpot), tu cliente ideal es aquel que ya tiene esa infraestructura instalada.

En lugar de inspeccionar el código fuente sitio por sitio, un script ligero puede analizar un listado de URLs y registrar si contienen las etiquetas de la tecnología objetivo:

```python title="scripts/tech_detector.py" ln
import requests
from bs4 import BeautifulSoup
import csv

urls = ['https://empresa-ejemplo.com', 'https://otra-empresa.com']
tecnologia_objetivo = 'shopify'

with open('resultados.csv', 'w', newline='', encoding='utf-8') as file:
    writer = csv.writer(file)
    writer.writerow(['Dominio', 'Usa Tecnología'])

    for url in urls:
        try:
            response = requests.get(url, timeout=5)
            if tecnologia_objetivo in response.text.lower():
                writer.writerow([url, 'Sí'])
            else:
                writer.writerow([url, 'No'])
        except Exception as e:
            print(f"Error al analizar {url}: {e}")
```

> [!TIP]
> Puedes pedir a la IA que adapte este script para leer las URLs directamente desde una exportación CSV de tu CRM y guardar el resultado como una propiedad enriquecida.

---

### 2. Monitorización de precios de la competencia

En mercados B2B, los cambios de empaquetado y tarifas en la competencia señalan oportunidades para campañas de captación o ajustes de posicionamiento.

En lugar de revisiones periódicas manuales, este script captura la estructura de precios y permite registrar variaciones temporales:

```python title="scripts/price_monitor.py" ln
import requests
from bs4 import BeautifulSoup

url = 'https://competidor.com/pricing'
headers = {'User-Agent': 'Mozilla/5.0'}

response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')

precios = soup.find_all(class_='price-tier')

for precio in precios:
    plan = precio.find('h3').text.strip()
    coste = precio.find(class_='amount').text.strip()
    print(f"Plan: {plan} — Precio: {coste}")
```

> [!WARNING]
> Si una web utiliza protecciones anti-bot y devuelve errores HTTP 403, solicita a la IA que reescriba la extracción utilizando librerías como Playwright para renderizar el navegador de forma desatendida.

---

### 3. Extracción de directorios en ferias sectoriales

Los congresos y eventos B2B publican directorios públicos con cientos de empresas expositoras. Transformar esos listados en bases de datos estructuradas ahorra horas de transcripción:

```python title="scripts/event_scraper.py" ln
import requests
from bs4 import BeautifulSoup
import pandas as pd

url = 'https://feria-b2b-ejemplo.com/expositores'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

expositores = []
tarjetas = soup.find_all('div', class_='exhibitor-card')

for tarjeta in tarjetas:
    nombre = tarjeta.find('h2').text.strip()
    enlace = tarjeta.find('a')
    web = enlace['href'] if enlace else 'Sin web'
    
    expositores.append({'Empresa': nombre, 'Sitio Web': web})

df = pd.DataFrame(expositores)
df.to_excel('lista_prospectos_feria.xlsx', index=False)
```

---

### Criterio sobre sintaxis

En estos flujos no necesitas dominar cada detalle de BeautifulSoup o Pandas. Tu función consiste en inspeccionar la estructura de la página, indicarle a la IA qué campos extraer y validar que el archivo resultante responda al objetivo comercial.
