Chcę przetworzyć prostą stronę internetową i zeskrobać informacje z tej strony.Parse Web Site HTML z JAVA
Użyłem do parsowania plików XML z DocumentBuilderFactory, próbowałem zrobić to samo dla pliku html, ale zawsze dostaję się w nieskończoną pętlę.
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());
Co to za problem? Czy istnieje jakiś łatwiejszy sposób na zeskanowanie danych ze strony internetowej dla danego znacznika HTML?
Po pierwsze możesz użyć ciągu zamiast pliku. Gdzie wchodzi w nieskończoną pętlę? Być może ze względu na strumień wejściowy z adresu URL, który wydaje się nie mieć końca, masz ten problem. –