En lugar de mapear todo el sitio web, podrías querer enfocarte en secciones específicas. En esta guía, te mostraremos cómo extraer solo las URLs de blog del sitio web de Stripe.
Para extraer solo las URLs de blog del sitio web de Stripe, usa el endpoint de mapas con filtros de patrones de ruta. El parámetro include_urls te permite especificar exactamente qué patrones de URL deseas incluir en los resultados.
import requestsimport timeimport json# ConfiguraciónAPI_URL = 'https://api.olostep.com/v1'API_KEY = '<your_olostep_api_key>'HEADERS = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {API_KEY}'}# Hora de inicio para el seguimiento de latenciastart_time = time.time()# Define la carga útil con patrones de URL para incluirpayload = { "url": "https://stripe.com", "include_urls": ["/blog", "/blog/**"] # Coincide con /blog y todos los caminos bajo /blog}# Realiza la solicitudresponse = requests.post(f'{API_URL}/maps', headers=HEADERS, json=payload)# Calcula la latencialatency = round((time.time() - start_time) * 1000, 2)print(f"Solicitud completada en {latency}ms")# Procesa los resultadosdata = response.json()print(f"Se encontraron {data['urls_count']} URLs de blog en el sitio web de Stripe")# Imprime las primeras 10 URLs como muestraprint("\nMuestra de URLs de blog:")for url in data['urls'][:10]: print(f"- {url}")# Guarda las URLs de blog en un archivo para un procesamiento posteriorwith open('stripe_blog_urls.json', 'w') as f: json.dump(data, f, indent=2)print(f"\nTodas las URLs de blog guardadas en stripe_blog_urls.json")
Puedes refinar aún más tu extracción para enfocarte en categorías específicas del blog. Por ejemplo, si solo te interesan las publicaciones del blog de ingeniería de Stripe:
# Define la carga útil con patrones de URL más específicospayload = { "url": "https://stripe.com", "include_urls": ["/blog/engineering", "/blog/engineering/**"]}