Cómo captar clientes potenciales para su empresa
Robert Munceanu el 24 abr 2021

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.

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".


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!!

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

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.


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.


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