with studio example div content attribute java html scrape

studio - jsoup java netbeans



Sitio web de Parse HTML con JAVA (3)

Esta pregunta ya tiene una respuesta aquí:

Quiero analizar un sitio web simple y eliminar información de ese sitio web.

Solía ​​analizar archivos XML con DocumentBuilderFactory, intenté hacer lo mismo con el archivo html pero siempre entra en un ciclo infinito.

URL url = new URL("http://www.deneme.com"); URLConnection uc = url.openConnection(); InputStreamReader input = new InputStreamReader(uc.getInputStream()); BufferedReader in = new BufferedReader(input); String inputLine; FileWriter outFile = new FileWriter("orhancan"); PrintWriter out = new PrintWriter(outFile); while ((inputLine = in.readLine()) != null) { out.println(inputLine); } in.close(); out.close(); File fXmlFile = new File("orhancan"); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(fXmlFile); NodeList prelist = doc.getElementsByTagName("body"); System.out.println(prelist.getLength());

¿Cuál es el problema? ¿O hay alguna forma más fácil de eliminar datos de un sitio web para una etiqueta html determinada?


Definitivamente JSoup es la respuesta. ;-)



Hay una manera mucho más fácil de hacer esto. Sugiero usar JSoup . Con JSoup puedes hacer cosas como

Document doc = Jsoup.connect("http://en.wikipedia.org/").get(); Elements newsHeadlines = doc.select("#mp-itn b a");

O si quieres el cuerpo:

Elements body = doc.select("body");

O si quieres todos los enlaces:

Elements links = doc.select("body a");

Ya no es necesario obtener conexiones o manejar transmisiones. Sencillo. Si alguna vez usaste jQuery, es muy similar a eso.