Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: neuromind en 30 de Octubre 2015, 14:00
-
Saludos,
Necesito extraer únicamente estos valores : "4069278676" "4068657274"
de un archivo html que contiene por ejemplo :
<div class="selector mode-advanced" tabindex="1" role="checkbox" aria-label="Follow Greymere Trout (@greymeretrout2)" aria-checked="false"><i class="icon-check"></i><input type="checkbox" name="unfollow[]" value="4069278676"></div>
<div class="selector mode-advanced" tabindex="2" role="checkbox" aria-label="Follow nairobys garcia (@nairobysgarcia6)" aria-checked="false"><i class="icon-check"></i><input type="checkbox" name="unfollow[]" value="4068657274"></div>
Se puede realizar con Java?
Si alguien me puede guiar por favor tengo una semana buscando como hacerlo pero no doy pie con bola.
Estoy tratando de usar Jsoup pero me parece que no es la librería adecuada.
Uso la herramienta Eclipse.
Gracias de antemano por cualquier colaboración o ayuda que me puedan ofrecer.
-
Tu pagina web tiene un url para poder filtrar con java pasando el url de la pagina.
-
Tu pagina web tiene un url para poder filtrar con java pasando el url de la pagina.
Hola Dranxz88, Gracias por responder. Pero me gustaría que me guiaras un poco si puedes por favor.
-
Lo que quiero saber la pagina web tiene un url para poder enviarte lo código para filtrar por medio del url porque este código de la pagina es un fragmento nomas
<div class="selector mode-advanced" tabindex="1" role="checkbox" aria-label="Follow Greymere Trout (@greymeretrout2)" aria-checked="false"><i class="icon-check"></i><input type="checkbox" name="unfollow[]" value="4069278676"></div>
<div class="selector mode-advanced" tabindex="2" role="checkbox" aria-label="Follow nairobys garcia (@nairobysgarcia6)" aria-checked="false"><i class="icon-check"></i><input type="checkbox" name="unfollow[]" value="4068657274"></div>
-
DRANXZ88 No tiene url son archivos locales. Datos.html o datos.txt
-
Hola!
En este hilo se trata un tema parecido y hay código de ejemplo: https://www.aprenderaprogramar.com/foros/index.php?topic=3258.0
Saludos
-
Hola este es un código de ejemplo con que puede guiarte y adecuarla a tu necesidades
Este es el código de java
package filtrartxt;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStreamReader;
public class FiltrarTxt {
public static void main(String[] args) {
String[] telefonos = new String[10];
try {
// Abrimos el archivo
FileInputStream fis = new FileInputStream("FiltrarTxt.html");
// Creamos el objeto de entrada
DataInputStream dis = new DataInputStream(fis);
// Creamos el Buffer de Lectura
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
char[] buffer = new char[1000];
int leido;
String texto = "";
while ((leido = br.read(buffer)) > 0) {
String datos = new String(buffer, 0, leido);
texto += datos;
/*System.out.println("leido-System-> "+datos);*/
}
String[] tr = texto.split("<input");
for (String fila : tr) {
if (fila.contains("4069278676")) {
// System.out.println("---> " + fila);
int pos1 = 0;
int pos2 = 0;
for (int i = 0; i < fila.length(); i++) {
if (fila.substring(i, i + 1).equals("4")) {
pos1 = i - 2;
} else if (fila.substring(i, i + 1).equals(">")) {
pos2 = i;
break;
}
}
System.out.println(fila.substring(pos1 + 1, pos2));
}
}
// Cerramos el archivo
dis.close();
} catch (Exception e) { //Catch de excepciones
System.err.println("Ocurrio un error: " + e.getMessage());
}
}
}
Y Este seria el archivo html
<!DOCTYPE HTML>
<html lang="es">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div class="selector mode-advanced" tabindex="1" role="checkbox" aria-label="Follow Greymere Trout (@greymeretrout2)" aria-checked="false">
<i class="icon-check"></i><input type="checkbox" name="unfollow[]" value="4069278676">
</div>
<div class="selector mode-advanced" tabindex="2" role="checkbox" aria-label="Follow nairobys garcia (@nairobysgarcia6)" aria-checked="false">
<i class="icon-check"></i><input type="checkbox" name="unfollow[]" value="4068657274">
</div>
</body>
</html>
Una cosa el archivo tiene que estar en el mismo directorio que tu código en java si quiere poner en otro directorio hay que especificarle nomas la ruta ojala que te sirva cualquier duda a la orden
-
Tenes que sacarle este código que puse sin querer es que yo hice para filtrar teléfono de un archivo por eso este código
String[] telefonos = new String[10];
No le hace nada al programa pero no le pertenece nomas tenes que borrar le puse sin querer :D :D :D
-
DRANXZ88 Y César Krall Gracias por sus aportes. Valoro mucho sus contribuciones.
Estoy trabajando con ellas para completar este proyecto personal.
Luego les envió lo que llevo realizado. Muchas Gracias.
-
Luego de sus invaluables aportes logre conseguir parte de la solución usando Expresiones Regulares en Java las cuales me permitieron Sustituir Patrones en un archivo txt
import java.io.File;
import java.util.Scanner;
public class ExtDataUserId2 {
public static void main(String[] args) {
// Fichero del que queremos leer
File fichero = new File("HTMLASUSTITUIR.txt" );
int n=(0);
Scanner s = null;
try {
// Leemos el contenido del fichero
s = new Scanner(fichero);
// Leemos linea a linea el fichero
while (s.hasNextLine()) {
String linea = s.nextLine(); // Guardamos la linea en un String
int i = n++;
String regex = "(?:value=\")(\\d{7,10})";
String newlinea = reemplazar(linea, regex ,"value=\""+"Cambiar"+i);
System.out.println(newlinea); // Imprimimos la linea
}
} catch (Exception ex) {
System.out.println("Mensaje: " + ex.getMessage());
} finally {
// Cerramos el fichero tanto si la lectura ha sido correcta o no
try {
if (s != null)
s.close();
} catch (Exception ex2) {
System.out.println("Mensaje 2: " + ex2.getMessage());
}
}
}
private static String reemplazar(String linea, String busqueda, String reemplazo) {
// TODO Auto-generated method stub
return linea.replaceAll(busqueda, reemplazo);
}
}
Muchas Gracias ;)