Foros del Web » Programación para mayores de 30 ;) » Java »

Extraer cadena de valores desde URL

Estas en el tema de Extraer cadena de valores desde URL en el foro de Java en Foros del Web. Hola gente del foro, hacia tiempo que no andaba por acá, hoy me trae una consulta de Java, estoy queriendo extraer un valor desde una ...
  #1 (permalink)  
Antiguo 29/04/2017, 16:09
 
Fecha de Ingreso: abril-2003
Mensajes: 1.129
Antigüedad: 21 años
Puntos: 34
Extraer cadena de valores desde URL

Hola gente del foro, hacia tiempo que no andaba por acá, hoy me trae una consulta de Java, estoy queriendo extraer un valor desde una URL y estoy un poco confundido sobre como debe hacerse.

En este caso es desde una página de Youtube, cualquier canal, y de esta necesito quedarme con el link a la imagen del avatar del canal.

Estoy probando con esto (pero claro, no funciona exactamente como debería)

Código Java:
Ver original
  1. String output  = getUrlContents("https://www.youtube.com/channel/UCj3PA7veYn4CjpOnjHmcVEw");
  2. Pattern p = Pattern.compile("<link rel=\"image_src\" href=\"?(.+)?\\s*\\/photo.jpg\">");
  3.         Matcher m = p.matcher(output);
  4.  
  5.         if(m.find())
  6.         System.out.println(m.group(0));
  7.  
  8.     private static String getUrlContents(String theUrl)
  9.       {
  10.         StringBuilder content = new StringBuilder();
  11.  
  12.         try{
  13.           URL url = new URL(theUrl);
  14.  
  15.           URLConnection urlConnection = url.openConnection();
  16.  
  17.           BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
  18.  
  19.           String line;
  20.  
  21.           while ((line = bufferedReader.readLine()) != null)
  22.           {
  23.             content.append(line);
  24.           }
  25.          
  26.           bufferedReader.close();
  27.         }
  28.         catch(Exception e){
  29.           e.printStackTrace();
  30.         }
  31.         return content.toString();
  32.       }

Me podrían ayudar en como resolver para quedarme sólo con el Link hacia la imagen, y ya que estamos otro pattern para quedarme con el Título de la página.

Desde ya muchas gracias.



.
__________________
elGastronomo
  #2 (permalink)  
Antiguo 29/04/2017, 16:22
 
Fecha de Ingreso: abril-2003
Mensajes: 1.129
Antigüedad: 21 años
Puntos: 34
Respuesta: Extraer cadena de valores desde URL

Yo no se por qué pero luego de 14 años en el Foro, me sigue pasando lo mismo, hago una consulta, y ni bien vuelvo al código y pruebo algo distinto, doy con la solución.

Con un poco de ayuda de Google y buscando algo distinto, di con algo que me solucionó el problema, dejo el código para los interesados

Código Java:
Ver original
  1. String theTitlePattern = "<title>  (.*?) - YouTube</title>";
  2.         String theImagePattern = "<link rel=\"image_src\" href=\"(.*?)\">";
  3.        
  4.         Pattern titlePattern = Pattern.compile(theTitlePattern);
  5.         Matcher titleMatcher = titlePattern.matcher(output);
  6.        
  7.         if (titleMatcher.find()){
  8.              System.out.println(titleMatcher.group(1));
  9.         }
  10.        
  11.         Pattern imagePattern = Pattern.compile(theImagePattern);
  12.         Matcher imageMatcher = imagePattern.matcher(output);
  13.        
  14.         if (imageMatcher.find()){
  15.              System.out.println(imageMatcher.group(1));
  16.         }

Perdón por las molestias, aunque es bueno estar de vuelta en el Foro :D Espero que esto quede de ayuda para alguien que lo pueda necesitar.
__________________
elGastronomo

Etiquetas: cadena, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:07.