Autor Tema: ¿Extensión de Chrome, script o algo más? Extraer y analizar código HTML de web  (Leído 210 veces)

Dixy

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Hola. Lo que quiero hacer parece sencillo, pero no sé por dónde empezar, no sé si tengo que hacer una extensión de Chrome un script o alguna otra cosa.

A hacer:

En una página web ajena cuando en un campo el valor sea > 0 que se envíe un email avisándome. Eso es todo.

Busqué pero parece que no puedo enviar un email desde una extensión de Chrome, creo que será lo mismo en un script.

¿Con qué tengo que hacer esto?

Gracias.
« Última modificación: 14 de Noviembre 2021, 19:20 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2635
    • Ver Perfil
Buenas, con lo que has indicado lo que se me ocurre es usar un script que descargue el contenido de la página, web, lo analice y te envíe un correo electrónico cuando se cumpla una determinada condición. Esto se puede hacer con diferentes lenguajes y de diferentes formas, una de ellas con PHP pero igual te puede valer otro lenguaje. En la entrega <<Extraer código fuente de página web con PHP. Leer archivos completos: file_get_contents y nl2br (CU00838B)>> del curso PHP https://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193 se habla algo de esto, aunque muy indirectamente. Tendrías que analizar y codificar el caso concreto. Salu2.

Dixy

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Gracias por responder.
Estoy tan perdida para empezar porque no he hecho nunca nada parecido ni una extensión de Chrome ni un script. De hecho cuando dije script pensé en algo como eso: [nobbc[https://www.youtube.com/watch?v=xFo8iTY9CJk&t=370s [/nobbc]
ya que es eso lo que encontré cuando buscaba información, pero no creo que te refieras a eso. Lo que llaman un script puede ser varias cosas. Perdona que te moleste, pero podrías decirme a lo que refieres tú con un script. Como dije no sé por donde empezar, dime algo tan básico como "bájate javascript y desde allí podrás hacer lo que quieres" o algo como eso. Ya que ahora ando perdida, muchas gracias.
« Última modificación: 15 de Noviembre 2021, 19:12 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2635
    • Ver Perfil
Un script es un pequeño (o no tan pequeño) programa que se ejecuta con un fin determinado, por ejemplo analizar el contenido de una página web y determinar el número de veces que aparece una palabra determinada, o cualquier cosa que se te ocurra. Cómo empezar depende de tu nivel de programación de partida y de los lenguajes de programación que conozcas. ¿Qué lenguajes de programación manejas?

Dixy

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Me sé el C y de allí me es más fácil trabajar con lenguajes parecidos al C como el java.
¿Qué programa necesito para hacer ese script? O si no es un programa, me puedes redirigir a una página que me diga cómo lo hago, gracias.

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2635
    • Ver Perfil
Hay herramientas que te permiten monitorizar páginas web como visualping. io , sken. io,  followthatpage .com, wachete. com, versionista. com y muchas otras. Si quieres crear un programa tú mismo, eso te llevará buscar el código adecuado o crearlo tú mismo. Un ejemplo de código Java con esta idea

Código: [Seleccionar]
import org.apache.commons.codec.digest.*;

import java.io.*;
import java.net.*;
import java.util.*;

/**
 * User: jhe
 */
public class UrlUpdatedChecker {

    static Map<String, String> checkSumDB = new HashMap<String, String>();

    public static void main(String[] args) throws IOException, InterruptedException {

        while (true) {
            String url = "http://www.aprenderaprogramar.com";

            // query last checksum from map
            String lastChecksum = checkSumDB.get(url);

            // get current checksum using static utility method
            String currentChecksum = getChecksumForURL(url);

            if (currentChecksum.equals(lastChecksum)) {
                System.out.println("No ha habido cambios");
            } else {
                // persist this checksum to map
                checkSumDB.put(url, currentChecksum);
                System.out.println("Ha habido cambios...");

                // Enviar un email: http://www.miweburl.com/displaypage.jsp?name=javamail.sql&id=13851
            }

            Thread.sleep(5000);
        }
    }

    private static String getChecksumForURL(String spec) throws IOException {
        URL u = new URL(spec);
        HttpURLConnection huc = (HttpURLConnection) u.openConnection();
        huc.setRequestMethod("GET");
        huc.setDoOutput(true);
        huc.connect();
        return DigestUtils.sha256Hex(huc.getInputStream());
    }
}

Dixy

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Ok, gracias y ¿dónde pongo ese código java para hacerlo funcionar?

Dixy

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Preguntando en otro foro me han dicho que se hace con web scraping, así que eso voy a hacer ahora. Por si a alguien le sirve les dejo aquí esta respuesta.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".