Подтвердить что ты не робот

Анализ веб-сайта HTML с помощью JAVA

Я хочу проанализировать простой веб-сайт и очистить информацию с этого веб-сайта.

Я использовал для анализа XML файлов с помощью DocumentBuilderFactory, я пытался сделать то же самое для html файла, но всегда попадал в бесконечный цикл.

    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());

В чем проблема? Или есть ли более простой способ очистить данные с веб-сайта для данного тега html?

4b9b3361

Ответ 1

Существует гораздо более простой способ сделать это. Я предлагаю использовать JSoup. С помощью JSoup вы можете делать такие вещи, как

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

Или, если вы хотите тело:

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

Или если вы хотите все ссылки:

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

Вам больше не нужно получать соединения или обрабатывать потоки. Просто. Если вы когда-либо использовали jQuery, то это очень похоже на это.

Ответ 2

Определенно JSoup - это ответ.; -)

Ответ 3

HTML не всегда корректный, хорошо отформатированный XML. Попробуйте использовать специальный синтаксический анализатор HTML вместо XML-синтаксического анализатора. Доступно несколько различных вариантов:

http://java-source.net/open-source/html-parsers