Cómo construir un rastreador personalizado usando Colab y advertools

Publicado: 2022-05-25

En este video, hablaremos sobre cómo podemos crear nuestro propio rastreador personalizado con Google Colab, Advertools y algunas otras bibliotecas de Python. Antes de que te asustes o te molestes, no lo hagas. Tomar una respiración profunda. Va a estar bien. Ni siquiera proclamo ser un codificador, pero en lo que soy bastante bueno es en copiar y pegar. Sé que puedes usar ese botón Ctrl+C tan bien como yo. Echemos un vistazo a cómo podemos crear nuestro propio rastreador de SEO personalizado y cómo podemos ponerlo a trabajar para ayudarnos a resolver algunos problemas únicos.

Recursos

  • Obtenga acceso al Colab aquí.
  • Obtenga más información sobre Advertools aquí.

Transcripción del vídeo:

Veamos cómo podemos construir un rastreador personalizado usando Google Colab, así como Advertools, la biblioteca de Python.

¿Qué es un SEO Crawler (Spider)?

Los rastreadores son herramientas que pueden rastrear páginas de sitios web de manera muy similar a como lo haría un motor de búsqueda, y nos ayudan a obtener información valiosa de SEO. Nos ayuda a ver el sitio web, de la forma en que Google, Bing u otros motores de búsqueda verían nuestro sitio. Hay herramientas que hacen esto. Hay una serie de herramientas que hacen esto, la más popular es probablemente Screaming Frog SEO Spider, y es una herramienta que amamos y usamos todo el tiempo, pero a veces necesitamos una solución personalizada.

¿Por qué crearías tu propio rastreador?

La mayoría de los rastreadores estándar hacen cosas asombrosas, pero a veces tiene una pregunta específica que debe responderse y puede crear un rastreador personalizado para controlar todas las salidas. Solo obtiene los datos que desea o necesita. De esta manera, no tiene que estar limitado por la configuración de una herramienta, pero puede ejecutar un rastreo rápido de un sitio web o extraer solo una pieza de información o extraer mucha información y organizarla de una manera diferente, usando Colab y Pitón.

¿Qué es Advertools?

Advertools es una biblioteca de Python que te permite hacer muchas cosas. Puede rastrear sitios web, generar palabras clave para sus campañas de marketing de motores de búsqueda, crear anuncios de texto, analizar SERP, obtener información sobre las publicaciones en las redes sociales y hacer mucho más. Es una biblioteca extremadamente flexible. Hace muchas cosas geniales y es bastante fácil de usar.

Yo no me llamaría programador. Solo diría que soy decente copiando y pegando. Aunque no soy un programador de Python en profundidad, he podido obtener muchos beneficios al usar una herramienta como Advertools.

lo que vamos a hacer

Esto es lo que vamos a hacer en este video.

  1. Cree un nuevo archivo Colab e instale Advertools
  2. Cree un rastreador personalizado usando advertools
  3. Rastrear y analizar el sitio web y los datos.
  4. Visualice algunos de esos resultados usando otra biblioteca de Python llamada Plotly
  5. Exportar los datos

Paso 1: Cree un archivo Colab e instale Advertools

Google Colab es una herramienta que te permitirá hacer varias cosas geniales. Le permite ejecutar código dentro de las celdas para crear tablas, crear sus propios programas, hacer cosas personalizadas, cualquier cosa, desde aprendizaje automático hasta SEO, y más. Si nunca lo ha usado antes, es de uso gratuito y le permite aprovechar el poder computacional de Google de forma gratuita. Es muy bueno, así que te recomiendo que vayas a ver esto.

Si aún no está usando CoLab, hay muchos recursos excelentes aquí. Una de las cosas que debe hacer para usar una biblioteca que está fuera de Python es la instalación natural. Necesitas instalar ese programa. La mayoría de las veces usa una función llamada PIP y luego obtiene esa nueva biblioteca. Es un proceso bastante simple de usar.

Una de las cosas que hacen todos estos muchachos, que construyen estos programas, es que te muestran exactamente cómo configurarlo dentro de sus documentos. Por lo tanto, siempre lea estos documentos y le permitirán comprender: "¿Cómo importo estas herramientas y hago que estas herramientas funcionen para mí?"

Para instalar Advertools, vamos a usar esta línea de código aquí:

!pip install advertools

Una vez que haya puesto el código aquí en el bloque de celdas en CoLab, continúe y presione el botón de reproducción. Ejecutará este bloque de código. Debería ver algo como esto, donde está instalando el código y el paquete completo aquí para que ahora podamos usar esta biblioteca para construir nuestro rastreador. Una vez que vea la marca de verificación verde, sabrá que está listo.

Paso 2: Cree un rastreador personalizado usando Advertools

A continuación, vamos a querer ejecutar una nueva línea de código.

import advertools as adv
from advertools import crawl
import pandas as pd
 

Puede continuar y presionar el botón de código aquí y completará este nuevo. Vamos a importar algunas partes específicas de la biblioteca Advertools. Estamos importando anuncios, estamos importando el método de rastreo. También estamos importando algo llamado pandas. Para aquellos de ustedes que no están familiarizados con Python, los pandas nos permiten trabajar con nuestros datos dentro de marcos de datos, básicamente haciendo tablas dentro de Python.

Una vez que haya configurado todo esto, continúe y ejecute su código nuevamente. Esto va a importar toda esta información. Si estamos creando un rastreo, notarán aquí que se trata de cómo podemos hacer esto, cómo podemos importar estos rastreos. Hay algunos enfoques; puede importar Advertools como lo hicimos nosotros y ejecutar esta línea de comando, que hará lo que estamos haciendo.

Me gusta hacer que Colab sea un poco más fácil de usar en caso de que alguien de mi equipo también quiera aprovecharlo. Vamos a hacer algo un poco diferente a lo que muestran aquí. Pero si sigue este enfoque, lo hará bien y funcionará también.

site = "https://simplifiedsearch.net/" #@param {type:"string"}

crawl(site, 'simp.jl' , follow_links= True )
crawl_df = pd.read_json( 'simp.jl' , lines= True )
crawl_df.head()
 

Lo que vamos a hacer es esta línea de código. Lo primero que estamos haciendo es definir una variable y la variable será el sitio web que queremos rastrear. Al usar esta cadena de tipo de parámetro, me da un cuadro aquí, que luego me permite escribir aquí, qué sitio web quiero rastrear. Puedo poner mi sitio web aquí. Puedo poner cualquier sitio web aquí y establecerá esa variable para mí. De esta manera no tengo que escribirlo aquí. Puedo simplemente escribirlo en un formulario y alguien que no se sienta tan cómodo haciendo clic dentro del cuadro de la celda podría continuar aquí y escribir un lado.

En este caso, vamos a usar nuestro sitio de búsqueda simplificado, solo porque lo usaríamos todo el tiempo. Continuaremos y lo pegaremos aquí. Justo debajo estamos siguiendo exactamente las mismas reglas que estaban estableciendo aquí. Usamos Advertools.crawl y luego usamos el sitio como nuestra variable. Tenemos un archivo de salida. Entonces queremos que siga los enlaces dentro del sitio web.

También hacemos el siguiente paso, donde configuramos el marco de datos de rastreo y le decimos que abra nuestro archivo de salida porque se generará en JSON. Los pandas leerán el JSON y crearán un marco de datos para nosotros. Al final, solo digo que mostremos el encabezado de este marco de datos, para asegurarnos de que todo funcione según lo previsto. Una vez que sigamos este paso y ejecutemos esta celda, rastrearemos el sitio web y hará un volcado de datos a continuación y podremos ver todas las diferentes funciones dentro de este rastreo.

Voy a seguir adelante y ejecutar esta celda. Puede tardar unos minutos solo porque está ejecutando un rastreo de todo el sitio web. Una vez que hayamos terminado, hablaremos sobre cómo podemos aprovechar los datos de rastreo para extraer información específica.

Paso 3: rastrear y analizar el sitio web y los datos

Ahora el sitio ha rastreado y puede ver que tengo una lista de URL, títulos, meta descripciones, punto de vista, conjunto de caracteres, H1, H2 y H3. Toda esta información se introduce en este marco. Si desea verlo un poco más limpio, puede presionar este botón mágico aquí y Google transferirá estos datos aquí a un marco de datos un poco más fácil para trabajar. Tengo un número total de columnas aquí de 266. Esas son muchas columnas con las que puedo trabajar.

Es posible que se pregunte qué hay en todas estas columnas. Podemos volver aquí a los anuncios y puedes ver todos los diferentes elementos. Hay bastantes datos de exportación que podemos ver y obtener mucha información interesante.

Si queremos ver una lista de todas las diferentes columnas que tenemos disponibles, podemos ejecutar este código:

columns = list (crawl_df)
columns
 

Necesitamos tomar las columnas primero y crear una lista a partir de ellas. Usaremos la lista de códigos y luego pondremos paréntesis, y dentro de su crawl_DF, que es el nombre de nuestro marco de datos, y llamaremos a las nuevas columnas de la lista. Aquí tenemos columnas, y ejecutamos esa celda, y puede ver todas estas diferentes columnas posibles. Es bastante información, como pueden ver, está buscando mucha información.

¿Qué sucede si desea ver solo una parte de esa información? ¿Qué sucede si solo desea obtener todos los títulos o todas las metadescripciones o parte de la información de la etiqueta H, o tal vez desea ver todas las páginas y el tipo de marcado de schema.org que podría tener en ellas? Aquí es donde tener algo como Advertools resulta útil.

Digamos que queremos ver los tipos JSON-LD en nuestras páginas.

json_df = crawl_df[[ 'url' , 'jsonld_@type' ]]
json_df
 

Podemos comenzar con un código nuevo. Avancemos y creemos un nuevo marco de datos llamado JSON-DF. Queremos obtener información de nuestro marco de datos original. Lo primero que vamos a querer hacer, déjame bajar un poco aquí para que sea más fácil para todos gatear, _DF. Vamos a utilizar un soporte y otro soporte.

Lo primero que queremos extraer es la URL. Sabemos que la URL es importante porque necesitamos conocer todas las páginas de nuestro sitio, todas las URL. Lo siguiente que queremos hacer es encontrar el tipo JSON. Podemos volver a esta lista y podemos ir al tipo JSON, copiar eso y decir, también quiero saber el tipo JSON. Seguiré adelante y mantendré esto consistente, de esa manera seguiremos las mejores prácticas. ¿Qué hacemos en esta pequeña línea aquí? Dijimos 'crear un nuevo marco de datos' y usar los datos de nuestra base de datos original, de nuestro marco de datos original y recuperar solo las URL y los tipos JSON-LD.

Si ejecuto esto, creará un nuevo marco de datos con solo esa información. Para ver estos datos, puedo continuar, poner JSON_DF, hacer una nueva celda y presionar enter. Me da una lista de todas mis páginas y el tipo de marcado asociado con esas páginas específicas. Esto puede ser muy útil si desea buscar rápidamente y encontrar todo el JSON en su sitio web, qué tipos tiene y qué marcado tiene.

Además, ¿tiene algunas páginas a las que les falta el marcado? Puede identificarlos rápidamente. Tenemos estos nuevos datos donde tenemos todas nuestras URL y tenemos todos nuestros tipos JSON-LD que sabemos que existen en esa página.

Paso 4: Visualiza los resultados

Digamos que queremos crear un informe o gráfico rápido para mostrarle, ya sea a un cliente oa otra persona, o la cantidad de información y datos que hemos agregado a este sitio para ellos y los diferentes tipos de la misma.

Lo primero que debo hacer es contar todos los diferentes tipos de marcado que se han agregado y luego puedo visualizarlo. Comencemos contando esto y creando un nuevo marco de datos. Ya creé este código y lo guiaré a través de él:

json_counts = json_df[ 'jsonld_@type' ].value_counts()
json_counts = json_counts.reset_index()
json_counts

Se llama recuentos JSON. Este es un nuevo marco de datos. Estamos tomando los datos de la columna JSON-LD aquí. Estamos haciendo que cuente los valores únicos que están en esta columna. Cuando ejecuto este código y luego le digo que lo emita, verá que tenemos toda esa información contada.

Lo que está haciendo es que me está dando este error porque está encontrando algunos ceros o algún NAS en la lista. Está bien porque verás en un segundo que tenemos esa información aquí. Aquí están todos los diferentes tipos de marcado y todo ha sido presentado para nosotros.

Sin embargo, también notará que no parece un marco de datos como el que se muestra aquí. Tenemos que volver a indexar este marco de datos, o esta variable, en un marco de datos para que funcione correctamente. Continuaremos, daremos nuestro marco de datos y ejecutaremos este código:

json_counts = json_counts.reset_index()

 

Cuando ejecutemos esto, verá que tenemos un marco de datos. Tenemos el índice, que es el término. Luego tenemos el tipo JSON-LD y el recuento de eso. Todavía no tenemos un gráfico. Todavía tenemos otro marco de datos. ¿Qué debemos hacer para convertir este marco de datos en una visualización o un gráfico? Vamos a usar algo llamado Plotly.

Plotly es otra biblioteca, muy similar a Advertools, que podemos usar para crear visualizaciones y, específicamente, vamos a usar Plotly express. Lo primero que debemos hacer es instalar Plotly, continuamos y hacemos PIPinstallPlotly, voy a ejecutar esta celda. Ya se ha instalado en esta hoja de trabajo, pero está bien. Como puede ver, nos dirá que ya está instalado, ya satisfecho. Estamos listos para irnos.

Tome ese código que acabamos de copiar de aquí y péguelo nuevamente en nuestro rastreador. No necesitamos este del medio porque son datos que no estamos usando. Estamos usando nuestros propios datos. Necesitamos importar Plotly Express como PX, y necesitamos conectar nuestra nueva base de datos aquí para obtener la información correcta en nuestro gráfico.

! pip install plotly
 
import plotly.express as px
fig = px.bar(json_counts, x='index', y='jsonld_@type') fig.show()
 

Nuestro marco de datos se llamó recuentos JSON. En nuestra X vamos a usar el índice y en la Y vamos a usar el tipo JSON. ¿Por qué elegí esos? El índice es donde están las palabras. Queremos tenerlos en la X, y luego el conteo está en JSON-LD @type, y esa será nuestra Y, eso nos dirá cuántos hay en cada una de esas columnas. Seguiremos adelante y pondremos eso aquí. Bastante simple. Y luego fig.show mostrará ese gráfico. Así que ahora tenemos todos nuestros diferentes tipos aquí abajo, y aquí tenemos las diferentes cantidades de cada tipo en un bonito gráfico.

Si desea compartir esto, puede descargarlo como PNG y Plotly ahora lo descargará a su computadora. Puede tomar esto y decir: "Hemos puesto tanto margen en tantas páginas". Una forma genial de visualizarlo rápidamente.

Paso 5: exportar los datos

Sin embargo, ¿qué pasa si queremos descargar todos estos datos y trabajar con ellos, tal vez en hojas de Google o algo más? Bueno, también puedes hacer eso para hacer eso. Solo necesitamos usar una línea más de código y deberíamos estar listos para comenzar. Así que digamos que vamos a descargar esta tabla aquí con todas las páginas de nuestro sitio web y el tipo JSON-LD. Podemos ir a esta celda o a cualquier otra que desees, y luego vamos a crear una nueva línea de código.

Necesitamos usar algo de Google Colab llamado archivos de importación. Eso es lo primero que vamos a hacer. A continuación, vamos a buscar este marco de datos, que es JSON-DF. Agregaremos esto a continuación y diremos .2_CSV, y luego le daremos un nombre. Podemos llamarlo JSON_DF.CSV. Una vez que haya ingresado este código, habrá creado su archivo CSV. Si miro aquí en mi carpeta, verás el archivo aquí mismo.

Desde aquí, podría continuar y descargarlo, o podría poner una línea de código aquí que nos ayude a descargarlo aún más rápido. Podría decir files.download, y luego sigo adelante y llamo a este archivo, que acabo de crear, y le pedí a Colab que me lo descargara directamente. Cuando ejecute esta celda, descargará ese archivo y aquí lo tengo. Puedo continuar, hacer clic en abrir y ahora tengo este archivo CSV que puedo hacer lo que quiera con cualquier tipo de herramienta de hoja de cálculo que tenga. También puedo ver a los que posiblemente les falte algo de marcado.

Ahí tienes. Seguimos adelante y creamos nuestro propio rastreador personalizado. Hemos extraído algunos datos personalizados. Hemos visualizado esos datos y los hemos descargado para usarlos en otros programas. Hicimos todo esto, y no soy un programador de computadoras, ni siquiera trato de fingir serlo. Como dije antes, soy bueno copiando y pegando. Ustedes también pueden resolver estas cosas.

Cuando tienes preguntas, siempre hay soluciones geniales. Si está dispuesto a probar algo nuevo y diferente, le recomiendo que juegue en Colab. Hay un montón de grandes recursos por ahí. Hay muchas personas que son mucho más inteligentes que yo y hacen cosas mucho más asombrosas de las que he aprendido mucho y me han ayudado en mi juego de marketing, investigación, rastreo y mucho más.

Si tiene alguna pregunta sobre lo que hicimos hoy, por favor comente a continuación. También voy a dar acceso a este archivo CoLab específico e incluso compartiré paso a paso el código que usamos en el camino. Gracias por mirar. No olvides suscribirte y hasta la próxima, feliz marketing.

Aquí está el código completo si estás interesado: