powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Вопрос про распарсиванию XML
11 сообщений из 11, страница 1 из 1
Вопрос про распарсиванию XML
    #39648171
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, есть сайт notice.crc.ru

Подскажите, как мне данные выдернуть в базу.

Основной вопрос

1. Как получить полный список уведомлений, а не только 25 на каждой страничке?
2. Каким инструментом лучше воспользоваться для распарсивания?
...
Рейтинг: 0 / 0
Вопрос про распарсиванию XML
    #39648194
разумно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Загрузить нужный кол во вкладок и спарсить.

Или связатся с админами сайта. И договорится об API
...
Рейтинг: 0 / 0
Вопрос про распарсиванию XML
    #39648196
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разумно,

А как загрузить вручную ? Мне все нужны)
...
Рейтинг: 0 / 0
Вопрос про распарсиванию XML
    #39648207
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
22.05.2018 16:13, wsnet пишет:
> А как загрузить вручную ?

кликаешь на каждом.
сохраняешь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос про распарсиванию XML
    #39648286
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

Это же с ума сойти, как то можно все получить сразу записи ?
...
Рейтинг: 0 / 0
Вопрос про распарсиванию XML
    #39648334
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnetМимопроходящий,

Это же с ума сойти, как то можно все получить сразу записи ?
В цикле, вестимо:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
HTTPSend.Method('GET','notice.crc.ru/?page=1');
MaxPageNo:=GetMaxPage(HTTPSend.Document);
ParsePage(HTTPSend.Document);
for i:=2 to MaxPageNo do
begin
  HTTPSend.Method('GET',format('notice.crc.ru/?page=%d',[i]));
  ParsePage(HTTPSend.Document);
end;
...
Рейтинг: 0 / 0
Вопрос про распарсиванию XML
    #39649172
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet1. Как получить полный список уведомлений, а не только 25 на каждой страничке?

В чем проблема "переходить" по страничка?
На текущей страничке же есть ссылка на следующую?
...
Рейтинг: 0 / 0
Вопрос про распарсиванию XML
    #39649173
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet2. Каким инструментом лучше воспользоваться для распарсивания?

Я использую IdHttp InDy + регулярные выражения.
...
Рейтинг: 0 / 0
Вопрос про распарсиванию XML
    #39649194
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11, он умеет Body.InnerText получать только ?
...
Рейтинг: 0 / 0
Вопрос про распарсиванию XML
    #39649203
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или TWebBrowser только применять?

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
procedure TForm1.btn1Click(Sender: TObject);
var
  MemoryStream: TMemoryStream;
  I, J: Integer;
begin
  MemoryStream := TMemoryStream.Create;
  try
    IdHTTP1.Get('http://notice.crc.ru/', MemoryStream);
    MemoryStream.Seek(0, 0);
    cxMemo1.Lines.LoadFromStream(MemoryStream);
    (WebBrowser1.Document as IHTMLDocument2).Body.innerHTML := cxMemo1.Text;
    ShowMessage((WebBrowser1.Document as IHTMLDocument2).Body.InnerText);
  finally
    MemoryStream.Free;
  end;

end;
...
Рейтинг: 0 / 0
Вопрос про распарсиванию XML
    #39649297
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел способ без TWebBrowser - может кому интересно будет

Код: pascal
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.
var
  MemoryStream: TMemoryStream;
  HTMLStringList: TStringList;
  V: OleVariant;
  Doc: IHTMLDocument2;
  I, J, CurrentPage, CountLine, StartPage, MaxPage: Integer;
begin
  MemoryStream := TMemoryStream.Create;
  HTMLStringList := TStringList.Create;
  Doc := coHTMLDocument.Create as IHTMLDocument2;
  MaxPage := 5;
  CurrentPage := 1;
  CountLine := 25;
  StartPage := 0;
  try
    MemoryStream.Clear;
    HTMLStringList.Clear;
    IdHTTP1.Get(Format('http://notice.crc.ru/', [CurrentPage]), MemoryStream);
    MemoryStream.Seek(0, 0);
    HTMLStringList.LoadFromStream(MemoryStream, TEncoding.UTF8);

    V := VarArrayCreate([0, 0], varVariant);
    V[0] := HTMLStringList.Text;
    Doc.Write(PSafeArray(TVarData(V).VArray)); // write data from IdHTTP
    HTMLStringList.Text := (Doc as IHTMLDocument2).Body.innerText;
    ShowMessage(HTMLStringList.Text);
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Вопрос про распарсиванию XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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