Cómo captar clientes potenciales para su empresa

Robert Munceanu el 24 abr 2021

blog-image

Si tiene un producto increíble o una idea revolucionaria que compartir con el mundo, ¿no sería una pena que la gente no supiera de su existencia?

¡Hola y bienvenidos al especial de hoy! La generación de leads será el plato fuerte de este artículo, y descubriremos por qué utilizar una herramienta de web scraping puede ayudarnos a reunir leads de forma eficiente.

Si te quedas hasta el final, verás un ejemplo rápido de un raspador web en acción y cómo ayuda a las empresas a encontrar clientes potenciales. Sin más dilación, ¡afilemos los cuchillos y empecemos con el aperitivo!

Cómo el web scraping puede ayudarle a captar clientes potenciales

Crear un gran grupo de clientes potenciales puede llevar algún tiempo, porque necesitas bastantes contactos para hacer crecer tu negocio, y buscar manualmente en cada sitio web lleva mucho tiempo. Tampoco quieres el número de teléfono de todo el mundo, solo de los que interesan a tu empresa, así que una selección de calidad te quitará aún más tiempo.

¿Qué podemos hacer al respecto?

Algunas personas crean su negocio en torno a este tema; es decir, recopilando y vendiendo clientes potenciales a otras empresas para que los utilicen. Esto parece una solución rápida y fácil, pero la calidad de su grupo de clientes potenciales puede no estar a la altura de sus estándares. Además, no hay duda de que esta opción supondrá gastar algo de dinero.

¿Cómo puede hacerlo usted mismo de forma rápida y eficaz? Aquí es donde entra en juego una herramienta de web scraping. De esta forma, puedes seleccionar solo los clientes potenciales que te interesan, por ejemplo, separándolos por sus reseñas.

Guía paso a paso para generar clientes potenciales con Web Scraping API

Imaginemos que somos una microcervecería nueva en la ciudad y queremos que la gente conozca nuestros productos. Para conseguir este objetivo, tenemos que ponernos en contacto con restaurantes o pubs locales y preguntarles si están interesados en vender nuestras golosinas dentro de su negocio.

Usted decide cómo hacerlo. Nosotros le ayudaremos a rascar, no a hablar.

En primer lugar, hay que saber dónde buscar la información necesaria, e Internet es la mejor forma de hacerlo. Existen sitios web de directorios con listas de empresas organizadas por su nicho, ubicación, actividad e incluso tamaño. En este ejemplo, utilizaremos Yell.

A continuación, crearemos nuestra cuenta WebScrapingAPI y procederemos con el ejemplo.

Cree su cuenta WebScrapingAPI

Este paso es fácil, ya que crear una cuenta es bastante sencillo, y no te preocupes, ¡es gratis! Tras confirmar tu registro por correo electrónico, podemos continuar con el siguiente paso.

Utilice su clave de acceso

Tras iniciar sesión, serás redirigido al panel de control, donde encontrarás información que te ayudará a raspar la web. En la sección playground, puedes probar resultados con diferentes parámetros, y si quieres saber más sobre cómo usar la API, puedes echar un vistazo a la documentación.

blog-image

Por ahora, nos interesa la clave de acceso. Esta clave se utilizará como parámetro en nuestro proyecto para autenticarnos con la API.

Ten cuidado de no compartirla con nadie, ya que es tu pequeño secreto, pero si crees que la clave de acceso ha sido comprometida, puedes restablecer la clave API cuando quieras pulsando el botón que se muestra arriba.

Integre WebScrapingAPI en su proyecto

En este paso, tendremos que preparar nuestro proyecto para el scraping. Puedes utilizar cualquier IDE y lenguaje de programación que más te convenga, pero para este ejemplo, vamos a utilizar WebStorm como IDE, y el código se escribirá en NodeJS.

1. Instale los siguientes paquetes:

  • got: utilizado para realizar peticiones HTTP
  • jsdom: útil para el análisis sintáctico de HTML
  • csv-writer: para almacenar los datos extraídos en un archivo csv

Para instalar los paquetes de arriba, sólo tiene que utilizar la siguiente línea de comandos en el terminal de proyectos: npm install got jsdom csv-writer

2. Establezca los parámetros de sus solicitudes

Aquí especificaremos la URL del sitio web que queremos scrapear, en nuestro caso, será Yell, y por supuesto, la clave de acceso para que WebScrapingAPI funcione.

const url = "https://www.yell.com/ucs/UcsSearchAction.do?keywords=restaurants%26location=United+Kingdom%26scrambleSeed=1024089043"
const params = {
api_key: "XXXXX",
url: url
}

3. Realizar la solicitud

const response = await got('https://api.webscrapingapi.com/v1', {searchParams: params})

La solicitud se hará a WebScrapingAPI junto con los parámetros que establecimos anteriormente, y recibiremos una respuesta que contiene el HTML en bruto de la página raspada. A continuación, tendremos que ver cómo localizar la información que necesitamos dentro del HTML.

4. Inspeccionar los elementos

Aquí debemos navegar por el sitio web que deseamos scrapear y utilizar las Developer Tools para buscar los elementos que contienen la información de cada negocio, en nuestro caso, cada elemento tiene la clase "businessCapsule--mainRow".

blog-image
blog-image

En las imágenes presentadas anteriormente, profundizamos en el elemento business item para observar que el nombre de cada negocio se encuentra en la etiqueta con la clase "businessCapsule--name".

Repitiendo este proceso, encontraremos el número de teléfono en el elemento con la clase "business--telephoneNumber" y las valoraciones media y total en los elementos con las clases "startRating--average" y "starRating--total" respectivamente.

5. Análisis del HTML

JSDOM nos ayudará a parsear la información proporcionada desde WebScrapingAPI, ya que nos devolverá la página completa en formato HTML.

const {document} = new JSDOM(response.body).window

6. Filtrado de resultados

En esta fase, iteraremos a través de todos los elementos que tengan la clase "businessCapsule--mainRow" y extraeremos la información de los elementos de los que hemos hablado anteriormente. Los datos extraídos se añadirán como un objeto en una lista.

const relatedElements = document.querySelectorAll('.businessCapsule--mainRow')
relatedElements.forEach(el => {
const businessName = el.querySelector('.businessCapsule--name')
const businessRatingAverage = el.querySelector('.starRating--average')
const businessRatingTotal = el.querySelector('.starRating--total span')
const businessContact = el.querySelector('.business--telephoneNumber')
leads.push({
businessName: businessName ? businessName.innerHTML : 'No business name',
businessRatingAverage: businessRatingAverage ? businessRatingAverage.innerHTML : 'No ratings',
businessRatingTotal: businessRatingTotal ? businessRatingTotal.innerHTML : 'No ratings',
businessContact: businessContact ? businessContact.innerHTML : 'No phone number'
})
})

7. Almacenar los datos

Almacenar los datos en un archivo csv parece una buena solución y aquí es donde csv-writer nos ayudará. Necesitamos especificar la ruta y el nombre del archivo csv en el parámetro ruta y en el parámetro cabecera, y tendremos que especificar una lista de objetos. Cada objeto representará una columna de nuestro archivo csv. La propiedad title de estos objetos representa el título de cada columna, mientras que la propiedad id tiene que coincidir con las propiedades de los objetos de nuestra lista de pistas.

Ahora, si envolvemos todo el código con una función asíncrona y añadimos un bucle para rastrear las 5 primeras páginas en busca de empresas, el código debería tener este aspecto:

const {JSDOM} = require("jsdom");
const got = require("got");

(async () => {

const leads = []
const nrPages = 5

for (let page = 1; page <= nrPages; page++) {
const url = "https://www.yell.com/ucs/UcsSearchAction.do?keywords=restaurants%26location=United+Kingdom%26scrambleSeed=1024089043%26pageNum=" + page
const params = {
api_key: "XXX",
url: url
}
const response = await got('https://api.webscrapingapi.com/v1', {searchParams: params})
const {document} = new JSDOM(response.body).window
const relatedElements = document.querySelectorAll('.businessCapsule--mainRow')

if (relatedElements) {
relatedElements.forEach(el => {
const businessName = el.querySelector('.businessCapsule--name')
const businessRatingAverage = el.querySelector('.starRating--average')
const businessRatingTotal = el.querySelector('.starRating--total span')
const businessContact = el.querySelector('.business--telephoneNumber')
leads.push({
businessName: businessName ? businessName.innerHTML : 'No business name',
businessRatingAverage: businessRatingAverage ? businessRatingAverage.innerHTML : 'No ratings',
businessRatingTotal: businessRatingTotal ? businessRatingTotal.innerHTML : 'No ratings',
businessContact: businessContact ? businessContact.innerHTML : 'No phone number'
})
})
}
}

const csvWriter = require('csv-writer').createObjectCsvWriter({
path: 'leads.csv',
header: [
{id: 'businessName', title: 'Business Name'},
{id: 'businessRatingAverage', title: 'Business Average Rating'},
{id: 'businessRatingTotal', title: 'Business No. of Ratings'},
{id: 'businessContact', title: 'Business Phone Number'},
]
})

csvWriter.writeRecords(leads).then(() => console.log('Success!!'))

})();

¡¡Éxito!!

blog-image

Buen trabajo. Ha terminado de recopilar información sobre posibles clientes potenciales.

Deje que WebScrapingAPI se haga amigo de su negocio

Esta es una manera rápida de crear su propio grupo de clientes potenciales y socios de negocios potenciales. Además de generar clientes potenciales, WebScrapingAPI también puede ayudarle en otras situaciones. Puede obtener más información en nuestro blog.

Basado en su proyecto, WebScrapingAPI tiene varios paquetes que se ajustan a sus necesidades. Si aún no está convencido de cómo nuestro producto condimenta su negocio, ¿por qué no prueba primero el plan gratuito? Le ofrece 1000 llamadas API gratuitas para que pueda empezar.

Noticias y actualidad

Manténgase al día de las últimas guías y noticias sobre raspado web suscribiéndose a nuestro boletín.

We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Artículos relacionados

miniatura
GuíasCómo hacer web scrape de los resultados de Google Maps Place

Aprende a scrapear resultados de lugares de Google Maps con nuestra API usando Node.js: guía paso a paso, beneficios de scraper profesional y más. Obtén data_id, coordenadas y construye parámetros de datos fácilmente.

Andrei Ogiolan
avatar de autor
Andrei Ogiolan
9 min leer
miniatura
GuíasCómo hacer Web Scrape de Yelp.com (Actualización 2023) - Guía paso a paso

Aprende a raspar Yelp.com para obtener datos de negocios con nuestra guía actualizada. Obtén instrucciones paso a paso y consejos para el web scraping de Yelp en 2023.

Raluca Penciuc
avatar de autor
Raluca Penciuc
8 min leer
miniatura
Casos prácticosCómo utilizar WebScrapingAPI para recopilar datos de Yelp

Si quiere datos sobre sus competidores, pocos sitios web son tan valiosos como Yelp. Con WebScrapingAPI, obtener esos datos es facilísimo.

Robert Sfichi
avatar de autor
Robert Sfichi
7 min leer