Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Задачка - помогите новичку :) / 14 сообщений из 14, страница 1 из 1
13.07.2004, 13:53
    #32601742
Alexander Kolotinets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
Доброго всем времени суток

Есть задачка, которую я хочу реализовать на java:
необходимо считывать инфу с html - странички и отправлять ее (инфу) по smtp клиенту. Т.е. задача разбивается на несколько этапов:
1. Установить соединение
2. Получить содержимое html - страницы
3. Отпарсить страничку для извлечения необходимых данных
4. smtp - отправка адрессату

Помогите, плз, новичку, какие классы и методы необходимо использовать для решения этой задачи
...
Рейтинг: 0 / 0
13.07.2004, 14:09
    #32601779
А.Гpacoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
Alexander KolotinetsДоброго всем времени суток

Есть задачка, которую я хочу реализовать на java:
необходимо считывать инфу с html - странички и отправлять ее (инфу) по smtp клиенту. Т.е. задача разбивается на несколько этапов:
1. Установить соединение
2. Получить содержимое html - страницы
3. Отпарсить страничку для извлечения необходимых данных
4. smtp - отправка адрессату

Помогите, плз, новичку, какие классы и методы необходимо использовать для решения этой задачи

1. java.net.Socket
2. получить Input/OutputStream, с их помощью получить чего надо (html)
3. вручную (свой код)
4. com.oreilly.servlet.MailMessage
...
Рейтинг: 0 / 0
13.07.2004, 14:37
    #32601869
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
имхо,
3. вручную (свой код)
- самая сложная часть.
...
Рейтинг: 0 / 0
13.07.2004, 14:49
    #32601905
Alexander Kolotinets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
Я думаю, для универсальности, неплохо бы описать исходную страничку в xml - тогда и парсить ее проще, и подход гибче.
Но опять - таки это в теории я так думаю, практически пока в лоб не знаю как реализовать :)
...
Рейтинг: 0 / 0
13.07.2004, 14:52
    #32601918
А.Гpacoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
Timmимхо,
3. вручную (свой код)
- самая сложная часть.

вообще ничего сложного. со страницы он будет брать определенный
текст.
например, чтобы получить список всех форумов со страницы
этого сайта:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
  public static List getForumList() {
    List list = new ArrayList();

    try {
      String pageContent = getPageContent(HTTPPaths.FORUM_LIST, "Powered by ActualForum");

      int pos = pageContent.indexOf("<A HREF=\"actualtopics.aspx?bid=");
      while (pos != -1) {
        int p1 = pageContent.indexOf("?bid=", pos);
        if (p1 != -1) {
          p1 = p1 + 4;
          int p2 = pageContent.indexOf("\"", p1);
          if (p2 != - 1 ) {
            String fid = pageContent.substring(p1 +  1 , p2).trim();
            int p3 = pageContent.indexOf("<", p2);
            if (p3 != - 1 ) {
              String fn = pageContent.substring(p2 +  2 , p3);
              Forum forum = new Forum();
              forum.setId(Integer.parseInt(fid));
              forum.setName(fn.trim());
              list.add(forum);
            }
          }
        }

        pos = pageContent.indexOf("<A HREF=\"actualtopics.aspx?bid=", p1);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }

    return list;
  }
...
Рейтинг: 0 / 0
13.07.2004, 15:08
    #32601961
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
А.Гpacoff Timmимхо,
3. вручную (свой код)
- самая сложная часть.

вообще ничего сложного. со страницы он будет брать определенный
текст.
например, чтобы получить список всех форумов со страницы
этого сайта:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
  public static List getForumList() {
    List list = new ArrayList();

    try {
      String pageContent = getPageContent(HTTPPaths.FORUM_LIST, "Powered by ActualForum");

      int pos = pageContent.indexOf("<A HREF=\"actualtopics.aspx?bid=");
      while (pos != -1) {
        int p1 = pageContent.indexOf("?bid=", pos);
        if (p1 != -1) {
          p1 = p1 + 4;
          int p2 = pageContent.indexOf("\"", p1);
          if (p2 != - 1 ) {
            String fid = pageContent.substring(p1 +  1 , p2).trim();
            int p3 = pageContent.indexOf("<", p2);
            if (p3 != - 1 ) {
              String fn = pageContent.substring(p2 +  2 , p3);
              Forum forum = new Forum();
              forum.setId(Integer.parseInt(fid));
              forum.setName(fn.trim());
              list.add(forum);
            }
          }
        }

        pos = pageContent.indexOf("<A HREF=\"actualtopics.aspx?bid=", p1);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }

    return list;
  }


С заданной страницы - в приницпе да, не сложно. Я имел ввиду в общем случае, когда необходимо выбрать то, что на этапе писанины неизвестно.
...
Рейтинг: 0 / 0
13.07.2004, 15:16
    #32601979
А.Гpacoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
TimmС заданной страницы - в приницпе да, не сложно. Я имел ввиду в общем случае, когда необходимо выбрать то, что на этапе писанины неизвестно.

искуственный интеллект?

зачем писать то, что будет выбирать неизвестно что?
...
Рейтинг: 0 / 0
13.07.2004, 15:29
    #32602012
Alexander Kolotinets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
спасибо всем за отклик, пробую на практике, и вот незадача... по описалову класса java.net.Socket можно:

java.net.socket = new mySocket("www.sql.ru", 3128);

не проходит :( в доке можно в конструктор передавать строковый <host> и int port.

Help ! А еще дока на java.sun.com очень скудная - нет примеров исполоьзования объектов - новичку тяжеловато будет разобраться :(
...
Рейтинг: 0 / 0
13.07.2004, 15:30
    #32602021
Alexander Kolotinets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
Sorry, обшибся:
спасибо всем за отклик, пробую на практике, и вот незадача... по описалову класса java.net.Socket можно:

java.net.socket = new mySocket("www.sql.ru", 3128);

Socket mySocket = new Socket("www.sql.ru", 3128);


не проходит :( в доке можно в конструктор передавать строковый <host> и int port.

Help ! А еще дока на java.sun.com очень скудная - нет примеров исполоьзования объектов - новичку тяжеловато будет разобраться :(
...
Рейтинг: 0 / 0
13.07.2004, 15:31
    #32602024
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
Alexander Kolotinetsспасибо всем за отклик, пробую на практике, и вот незадача... по описалову класса java.net.Socket можно:

java.net.socket = new mySocket("www.sql.ru", 3128);

не проходит :( в доке можно в конструктор передавать строковый <host> и int port.

Help ! А еще дока на java.sun.com очень скудная - нет примеров исполоьзования объектов - новичку тяжеловато будет разобраться :(

может Socket s = new Socket(...)?
...
Рейтинг: 0 / 0
13.07.2004, 15:35
    #32602033
Alexander Kolotinets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
Timm Alexander Kolotinetsспасибо всем за отклик, пробую на практике, и вот незадача... по описалову класса java.net.Socket можно:

java.net.socket = new mySocket("www.sql.ru", 3128);

не проходит :( в доке можно в конструктор передавать строковый <host> и int port.

Help ! А еще дока на java.sun.com очень скудная - нет примеров исполоьзования объектов - новичку тяжеловато будет разобраться :(

может Socket s = new Socket(...)?

ну да, обшибку я заметил (обчепятался), но компилятор не пущает передать в конструкторе параметры :(
...
Рейтинг: 0 / 0
13.07.2004, 15:37
    #32602040
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
А.Гpacoff
искуственный интеллект?

Нет, зачем.
А.Гpacoffзачем писать то, что будет выбирать неизвестно что?
Может надо человеку! ))
Какой нибудь нечеткий поиск реализовать например... И вообще, парсить что либо вручную - почти всегда непросто.
...
Рейтинг: 0 / 0
13.07.2004, 15:38
    #32602045
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
ну да, обшибку я заметил (обчепятался), но компилятор не пущает передать в конструкторе параметры :(

Что пишет?
...
Рейтинг: 0 / 0
13.07.2004, 15:39
    #32602049
Alexander Kolotinets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка - помогите новичку :)
Все, нашел,
mySocket = new Socket("www.sql.ru", 3128) надо было поместить в блок
try {
}
catch (...) {
}

говорю же - новичек :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Задачка - помогите новичку :) / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]