Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> парсер HTML с использование jsoup 
:(
    Опции темы
Staxxx
Дата 16.2.2015, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 2.1.2009

Репутация: нет
Всего: -2



Добрый день, возникли проблемы с библиотекой jsoup и не могу найти ответ, а именно с установкой jsoup.

программирую в блокноте, без использования eclipse и т.д.

Код

package org.jsoup;

import java.io.File;
import java.io.IOException;
  
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;*/
  

public class FullDocumentParser{
  
    public static void main(String args[]) {
  
        // Parse HTML String using JSoup library
        String HTMLSTring = "<!DOCTYPE html>"
                + "<html>"
                + "<head>"
                + "<title>JSoup Example</title>"
                + "</head>"
                + "<body>"
                + "<table><tr><td><h1>HelloWorld</h1></tr>"
                + "</table>"
                + "</body>"
                + "</html>";
  
        Document html = Jsoup.parse(HTMLSTring);
        String title = html.title();
        String h1 = html.body().getElementsByTag("h1").text();
  
        System.out.println("Input HTML String to JSoup :" + HTMLSTring);
        System.out.println("After parsing, Title : " + title);
        System.out.println("Afte parsing, Heading : " + h1);
  
        // JSoup Example 2 - Reading HTML page from URL
        Document doc;
        try {
            doc = Jsoup.connect("http://google.com/").get();
            title = doc.title();
        } catch (IOException e) {
            e.printStackTrace();
        }
  
        System.out.println("Jsoup Can read HTML page from URL, title : " + title);
  
        // JSoup Example 3 - Parsing an HTML file in Java
        //Document htmlFile = Jsoup.parse("login.html", "ISO-8859-1"); // wrong
        Document htmlFile = null;
        try {
            htmlFile = Jsoup.parse(new File("login.html"), "ISO-8859-1");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } // right
        title = htmlFile.title();
        Element div = htmlFile.getElementById("login");
        String cssClass = div.className(); // getting class form HTML element

        System.out.println("Jsoup can also parse HTML file directly");
        System.out.println("title : " + title);
        System.out.println("class of div tag : " + cssClass);
    }
}


компилятор ругается на все подряд.. 


C:\Users\Сергей\Desktop\Прога\парсер jsoup>C:\jdk1.8.0_31\bin\javac -deprecation
 FullDocumentParser.java

FullDocumentParser.java:31: error: cannot find symbol
        Document html = Jsoup.parse(HTMLSTring);
        ^
  symbol:   class Document
  location: class FullDocumentParser
FullDocumentParser.java:31: error: cannot find symbol
        Document html = Jsoup.parse(HTMLSTring);
                        ^
  symbol:   variable Jsoup
  location: class FullDocumentParser
FullDocumentParser.java:40: error: cannot find symbol
        Document doc;
        ^
  symbol:   class Document
  location: class FullDocumentParser
FullDocumentParser.java:42: error: cannot find symbol
            doc = Jsoup.connect("http://google.com/").get();
                  ^
  symbol:   variable Jsoup
  location: class FullDocumentParser
FullDocumentParser.java:52: error: cannot find symbol
        Document htmlFile = null;
        ^
  symbol:   class Document
  location: class FullDocumentParser
FullDocumentParser.java:54: error: cannot find symbol
            htmlFile = Jsoup.parse(new File("login.html"), "ISO-8859-1");
                       ^
  symbol:   variable Jsoup
  location: class FullDocumentParser
FullDocumentParser.java:60: error: cannot find symbol
        Element div = htmlFile.getElementById("login");
        ^
  symbol:   class Element
  location: class FullDocumentParser
7 errors

C:\Users\Сергей\Desktop\Прога\парсер jsoup>pause
Для продолжения нажмите любую клавишу . . .

помогите найти ошибку в коде, читал введение в java
jsoup

бьюсь как головой об стену с этим, не видит jsoup хоть убей) помогите пожалуйста исправить ошибку!

Добавлено через 4 минуты и 33 секунды
Код

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.html.HTML;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLEditorKit;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.lang.Double;
import java.lang.String;

public class FullDocumentParser 
{
    
    static HTMLDocument doc = null;
    
    public static void main(String[] args) throws IOException {
        HTMLEditorKit kit = new HTMLEditorKit();
        URL ura = new URL("http://euromillions.com/en/");
        try {
            InputStream in = ura.openStream();
            doc = (HTMLDocument) kit.createDefaultDocument();
            doc.putProperty("IgnoreCharsetDirective",Boolean.TRUE);
            kit.read(in, doc, 0);
        } catch (BadLocationException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        //Получение атрибутов тега <SPAN>
        HTMLDocument.Iterator it = doc.getIterator(HTML.Tag.SPAN);
        while (it.isValid()) {
            AttributeSet attrs = it.getAttributes();
            Object linkAttr = attrs.copyAttributes();
            Object link = it.LeafElement();
            
            
            System.out.println(linkAttr);
          System.out.println(link);
            it.next();
        }
        
    }
}


изначально написал такую программу, она польностью рабочая. моя цель считывать цифры с сайта - результаты лотерей. пока что мой результат таков, что могу найти все теги span и найти что идет дальше после тега (какой класс). но задача у меня такова, что бы заглянуть во внуть тегов, то есть между ними, поетому сделал выводы, что HTMLEditorKit не подойдет для этих целей, а лучше пользоваться jsoup
PM MAIL   Вверх
AntonSaburov
Дата 16.2.2015, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Может есть смысл добавить еще один импорт

Код

import org.jsoup.nodes.Document;

PM MAIL WWW ICQ   Вверх
Staxxx
Дата 16.2.2015, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 2.1.2009

Репутация: нет
Всего: -2



Цитата(Staxxx @  16.2.2015,  15:03 Найти цитируемый пост)
import org.jsoup.nodes.Document;


есть такое, в чем еще может быть подвох? могу выслать файлы.
ссылка


PM MAIL   Вверх
AntonSaburov
Дата 17.2.2015, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Вот этот код собирается и запускается. В коде есть ссылка на считывание login.html, которого в архиве нет, так что дальше дело не пошло. Но остальное все работало. Надо только учесть, что файл должен лежать в папке org/jsoup - во всяком случае так по пакетам написано. Ну или просто убрать верхний package - тогда можно собирать из корня.

Код

package org.jsoup;

import java.io.File;
import java.io.IOException;
  
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
  

public class FullDocumentParser{
  
    public static void main(String args[]) {
  
        // Parse HTML String using JSoup library
        String HTMLSTring = "<!DOCTYPE html>"
                + "<html>"
                + "<head>"
                + "<title>JSoup Example</title>"
                + "</head>"
                + "<body>"
                + "<table><tr><td><h1>HelloWorld</h1></tr>"
                + "</table>"
                + "</body>"
                + "</html>";
  
        Document html = Jsoup.parse(HTMLSTring);
        String title = html.title();
        String h1 = html.body().getElementsByTag("h1").text();
  
        System.out.println("Input HTML String to JSoup :" + HTMLSTring);
        System.out.println("After parsing, Title : " + title);
        System.out.println("Afte parsing, Heading : " + h1);
  
        // JSoup Example 2 - Reading HTML page from URL
        Document doc;
        try {
            doc = Jsoup.connect("http://google.com/").get();
            title = doc.title();
        } catch (IOException e) {
            e.printStackTrace();
        }
  
        System.out.println("Jsoup Can read HTML page from URL, title : " + title);
  
        // JSoup Example 3 - Parsing an HTML file in Java
        //Document htmlFile = Jsoup.parse("login.html", "ISO-8859-1"); // wrong
        Document htmlFile = null;
        try {
            htmlFile = Jsoup.parse(new File("login.html"), "ISO-8859-1");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } // right
        title = htmlFile.title();
        Element div = htmlFile.getElementById("login");
        String cssClass = div.className(); // getting class form HTML element

        System.out.println("Jsoup can also parse HTML file directly");
        System.out.println("title : " + title);
        System.out.println("class of div tag : " + cssClass);
    }
}

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0725 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.