Получения данных с внешнего сайта
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.37] |
|
|
Соблюдайте общие правила форума
MSDN Library
FAQ раздела
Поиск по разделу
Как правильно задавать вопросы
Получения данных с внешнего сайта
|
Сообщ.
#1
,
|
|
|
|
Добрый день!
Пытался делать через IdHTTP1.Get но в результате нет данных, видимо они грузиться как-то скриптом. Поэтому пришлось пока временно сделать так через компонент TWebBrowser: ![]() ![]() procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var k, i, j, o: integer; ovTable: OleVariant; CurWebrowser: IWebBrowser; TopWebBrowser: IWebBrowser; Document: OleVariant; WindowName: string; begin Sleep(5000); CurWebrowser := pDisp as IWebBrowser; TopWebBrowser := (Sender as TWebBrowser).DefaultInterface; NewSpis.Lines.Clear; // если произошла загрузка страницы, а не фрейма if CurWebrowser = TopWebBrowser then begin // перебираем все таблицы на странице и если успешно обработается // первая из них - прервем цикл K:=WebBrowser1.OleObject.Document.all.tags('TABLE').length; for O:=0 to k-1 do begin ovTable := WebBrowser1.OleObject.Document.all.tags('TABLE').item( o ); try for i := 2 to (ovTable.Rows.Length - 1) do // с третей строки begin for j := 0 to (ovTable.Rows.Item(i).Cells.Length - 1) do //Берем текст с таблицы begin if AnsiContainsStr( ovTable.Rows.Item(i).Cells.Item(j).InnerText,'Попробуйте сделать') then Begin Screen.Cursor:=crDefault; Button3.Enabled:=true; ShowMessage('Ошибка'); exit; end; case j of 1: NewSpis.Lines.add(ovTable.Rows.Item(i).Cells.Item(j).InnerText); //2: Memo2.Lines.add(ovTable.Rows.Item(i).Cells.Item(j).InnerText); //3: Memo3.Lines.add(ovTable.Rows.Item(i).Cells.Item(j).InnerText); end; end end; // обрабатываем с клипборда полученную информацию. Если все ок - получаем True except Screen.Cursor:=crDefault; Button3.Enabled:=true; ShowMessage('Ошибка'); exit; end; // try end; // for O:=0 to k-1 do end; //if CurWebrowser = TopWebBrowser then end; Есть ли альтернатива? Страничка пример Пример на ней таблица с именами которые нужно импортировать. Заранее благодарен за ответ. |
|
Сообщ.
#2
,
|
|
|
|
В конкретном случае - можно откопать запрос, которым подгружаются нужные данные, и сымитировать его. Сниффер в помощь (SmSniff рекомендую)
|