Hojas de cálculo de Google → Node.js → Gráficos de Google → Sitio de tarjetas de presentación → Top 3 en la búsqueda Nombre completo + especialización
Con base en los datos de la tabla, decidí complementar el sitio de tarjetas de presentación con información sobre publicaciones que se generarían automáticamente. Lo que quería conseguir:
- Un resumen actualizado de publicaciones, ubicado en la línea de tiempo de Google Charts .
- Generación automática de datos de salida y enlaces a artículos de tablas de Google en la versión html de la tarjeta de presentación.
- Versiones en PDF de artículos de todos los sitios, debido a preocupaciones sobre el cierre de algunos sitios más antiguos en el futuro.
Puedes ver cómo sucedió aquí . Implementado en la plataforma Node.js usando Bootstrap, Google Charts y Google Sheets para almacenar datos sin procesar.
Datos sin procesar sobre publicaciones en la hoja de cálculo de Google
LynxReport de hoja de cálculo de Google : la contabilidad de publicaciones contiene todos los datos de origen y análisis de las publicaciones. Mantengo actualizada la información en la pestaña "Datos" ingresando manualmente nuevos enlaces a artículos, el resto se descarga en su mayor parte automáticamente.
Parte de la tabla LynxReport: contabilidad de publicaciones con datos iniciales
Los datos reales sobre vistas y comentarios se cargan mediante fórmulas.
Por ejemplo, para obtener la cantidad de vistas de las páginas de Habr en una celda de las tablas de Google, use la fórmula:
=IF(
ISNUMBER(IMPORTXML(D6, "//*[@class='post-stats__views-count']"))
,
SUBSTITUTE(
IMPORTXML(D6, "//*[@class='post-stats__views-count']")
,",",".")
,
value(SUBSTITUTE(SUBSTITUTE(
IMPORTXML(D6, "//*[@class='post-stats__views-count']")
,"k","")
,",","."))*1000
)
Las fórmulas no son la opción más rápida y hay que esperar media hora para obtener varios cientos de posiciones. Una vez completada la descarga, puede ver todos los números como en la captura de pantalla a continuación. Proporcionan respuestas sobre qué temas son populares y cuáles no.
Parte de la tabla LynxReport: publicación con análisis
Leer datos de una hoja de cálculo y convertirlos al formato de Google Charts
Para transformar estos datos dinámicos de una hoja de cálculo de Google en un sitio de tarjetas de presentación, necesitaba convertir los datos al formato de línea de tiempo de Google Charts .
La línea de tiempo resultante de Google Charts en un sitio de tarjetas de presentación
Para dibujar correctamente dicho gráfico, los datos deben organizarse de la siguiente manera:
Datos para Google Charts en un sitio de tarjetas de presentación en formato html
Para realizar todas las transformaciones automáticamente, escribí un script en Node.js que está disponible en GitHub .
Si no está familiarizado con Node.js, en mi artículo anterior describí en detalle cómo puede usar el script en diferentes sistemas:
- Ventanas
- Mac OS
- Linux
Enlace con instrucciones aquí . El principio es similar.
El trabajo del script para convertir al formato de datos deseado y generar versiones en pdf de los artículos de los sitios (todas las líneas se procesan instantáneamente; establezco especialmente un retraso para grabar este video)
Para leer datos de una tabla de Google en modo automático, utilizo la autorización de clave .
Puede obtener esta clave en la Consola de gestión de proyectos de
Google : Credenciales en Google Cloud Platform
Una vez finalizado el script, se deben generar dos archivos de texto con datos html de los gráficos y todas las copias en pdf de los artículos en línea.
Importo datos de archivos de texto al código html del sitio de la tarjeta de presentación.
Generación de copias en pdf de artículos de sitios.
Con la ayuda de Puppeteer, guardo la vista actual de los artículos junto con todos los comentarios en formato pdf.
Si no establece un retraso, varias docenas de artículos de la lista se pueden guardar como archivos PDF en solo unos minutos.
Y el retraso es necesario para que los comentarios se carguen en algunos sitios ( por ejemplo, en - ).
resultados
Dado que se inició la escritura del script para que coincida mejor con los algoritmos de búsqueda, puede evaluar los resultados mediante la búsqueda.
La búsqueda por nombre y apellido + indicación de especialización en ambos casos devuelve enlaces a mis artículos e incluso al sitio de una tarjeta de presentación:
En los resultados de búsqueda de Yandex :
En los resultados de búsqueda de Google :
todavía no puedo decidir si vale la pena registrar un nombre de dominio separado si la tarjeta de presentación es empenoso.github.io y entonces, ¿está en las líneas superiores de la búsqueda?
En lugar de una conclusión
- Quizás este artículo hará que alguien piense en cómo se ve en Internet.
- Quizás este artículo ayude a alguien a establecer la contabilidad y organización de publicaciones.
- El código fuente del script se encuentra en GitHub .
Por: Mikhail Shardin
17 de agosto de 2020