¿Qué lenguaje de programación debo usar para crear una aplicación que rastree el sitio web de un usuario para crear datos y lo analice para mejorar?

Esta pregunta es realmente más complicada de lo que parece inicialmente. A primera vista, podría usar la mayoría de los lenguajes de programación para realizar la solicitud HTTP y analizar la respuesta HTML textual. Esto se debe a que, en la actualidad, todos los lenguajes de programación tienen acceso a bibliotecas / marcos / API para realizar HTTP / HTTPS.

Donde se vuelve complicado es que muchos sitios web modernos se implementan como SPA, y gran parte de su contenido se genera del lado del cliente. Esto significa que para analizar adecuadamente dichos sitios web, deberá ejecutar su código de la misma manera que un navegador. De hecho, esto es lo que hace ahora el rastreador de búsqueda de Google.

Hacer esto requiere que automatices un navegador (como Headless Chrome) o implementes una aplicación que pueda simular el comportamiento del navegador ejecutando JavaScript y proporcionando una API similar a DOM. Esto hace que el esfuerzo sea mucho más desafiante, y ciertamente algunos entornos, como Node.js, son más apropiados que otros.

Elija, sin ningún orden en particular, ninguno de

  • DO#
  • Pitón
  • Java
  • JavaScript
  • Rubí
  • PHP
  • Clojure
  • Kotlin
  • Scala

Cualquiera que sienta que sería más fácil de usar. Todos hacen el trabajo. Y muchos otros idiomas también; Estos son idiomas razonablemente populares.

Usaría Java ya que es mi lenguaje más familiar si pudiera alojarlo; Podría elegir PHP si tuviera que alojar la aplicación en un ISP barato donde eso es todo lo que podría obtener. Si la aplicación fuera lo suficientemente pequeña, incluso podría considerar Node / JavaScript / Express, pero no me gusta mucho JavaScript a medida que aumenta el tamaño del código.

Yo diría NodeJS o Python.

Node.js porque tiene una amplia gama de módulos de nodos que puede usar para realizar raspados web de manera muy fácil y sencilla. Su relación con el entorno web significa que también tiene una gran cantidad de herramientas que lo ayudarán a lograr esta tarea.

Python porque también tiene las bibliotecas que puede usar para realizar tareas de raspado web, pero también es uno de los mejores lenguajes para el análisis de datos que deberá hacer para sugerir mejoras que alguien podría hacer en su sitio web en función de los datos que acaba de utilizar. raspado También es un lenguaje muy simple pero potente, por lo que si no tiene conocimiento previo, no debería ser difícil comenzar.

También hay muchas otras excelentes opciones para elegir y no solo se limite a estos 2 idiomas, ya que estoy seguro de que otros idiomas serían una solución tan excelente para este tipo de tarea.

Las otras respuestas aquí son buenas, pero hay más en este problema.

Habiendo escrito un rastreador yo mismo en C #, desea algo que pueda procesar rápidamente expresiones regulares, xQuery y / o búsquedas de cadenas, o alguna combinación de las mismas.

De hecho, he publicado otra pregunta en Quora para averiguar qué lenguaje de programación hace que RegEx coincida más rápido. No tengo tiempo para hacer pruebas de referencia. Manténganse al tanto.

Pitón

‘Nuff dijo.

More Interesting

En la programación en tiempo real, ¿podemos desarrollar una aplicación sin usar lenguajes de pegamento (específicamente, que se ejecutan en la línea de comandos)?

¿Por qué la devolución en el siguiente código AJAX da un resultado indefinido?

Cómo hacer un buen video para mi sitio web

¿Qué son los servidores de reserva?

¿Cuáles son algunos buenos proyectos de JavaScript que usan solo JavaScript de vainilla?

¿Por qué la gente recomienda ASP.NET/C# sobre Django / Python para el desarrollo web?

¿Hay una herramienta disponible que nos diga (lego) si un sitio web está disponible para respondernos o no? ¿O puedo escribir un guión simple para eso?

¿Cuál es el futuro de la pila MEAN teniendo en cuenta que AngularJS está experimentando un cambio masivo y que PostgreSQL supera a MongoDB?

¿Es eficiente para mí, como aspirante a desarrollador web / de aplicaciones (30 años, sin experiencia) adentrarme en las tecnologías web (HTML / CSS / JavaScript) o al mismo tiempo aprender un lenguaje de programación más tradicional como Python también sería una opción valiosa para comprender back end?

¿Puede Famo.us cumplir sus promesas?

¿Puedo editar el código HTML con WordPress.com o tengo que alojarlo en otro sitio y usar WordPress.org?

¿Dónde puedo encontrar los mejores tutoriales para C # .NET y ASP.NET? ¿Cuáles son los mejores sitios web donde puedo encontrar algunos proyectos de muestra con soluciones para poder practicar?

¿Cuál es la mejor manera de reclutar desarrolladores web (HTML / CSS / JS) en el Área de la Bahía?

¿Qué son los certificados SSL? ¿Son útiles y debería tener uno para mi sitio?

¿Cómo se usa el método getElementsByTagName?