![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 25.06.2008
Сообщений: 4
|
![]()
Ссылка на проблемную страницу ниже. На неё захожу при помощи TWebBrowser'а двумя переходами
с другого сайта. Нужно сграбить строку после слов "Оценка компании". Трабл в том, что страница формируется после загрузки ява-скриптом. Сохранение содержимого в файл не помогает, так как html код содержит только те самые скрипты, которые и тянут данные на страничку. Если знаете, как добраться до данных, помогите плиз http://spark.interfax.ru/CompanyInfo...che=2140411910 |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 12.02.2009
Сообщений: 62
|
![]()
юзай IdHTTP и парси js
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 25.06.2008
Сообщений: 4
|
![]()
парсить яву? если и найду последовательность функций на яве, что потом с ними делать? это же не данные...
Может можно как-то порыться в потрохах WebBrowser'а? Последний раз редактировалось T_o_l_i_k; 14.02.2009 в 14:38. |
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 12.02.2009
Сообщений: 62
|
![]() Цитата:
![]() если ты говоришь что данные вытягиваются ява скриптом, то тогда лучше даже не парсить эту страницу, а обращаться программкой туда куда обращается ява скрипт. в ява скриптах кстати даже комментарии есть, что какая функция делает. добрый человек писал.... ![]() |
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 25.06.2008
Сообщений: 4
|
![]()
воспользовался вот этим...
tr: IHTMLTxtRange; .... tr := ((WebBrowser1.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange; tr.text из текста легко вынимается нужная строка. Есть ещё трабл... не могу правильно выделить момент времени, когда нужно обращаться к WebBrowser за данными. Грабли чешут страницы в цикле. WebBrowser'у передается url в метод Navigate. Пробывал ждать окончания загрузки данных следующими вариантами: 1. ждать в вайле, пока WebBrowser.Busy: while WebBrowser.Busy do Application.ProcessMessages 2. вызывать родной метод WebBrowser: WaitWileBusy() Ни первое, ни второе не спасают от смешивания данных. Грабли идут по ссылке номер N, а из WebBrowser'а вынимается текст, относящийся к одной из предшествующих ссылок. И ещё одна новость... иногда само открывается окно IE, а после его закрытия вручную возникает окно с вопросом "Просматриваемая web-страница пытается закрыть окно. Закрыть окно?"... Если нажать "Да", то WebBrowser пропадает с формы + Exception. "Нет" приводит к слету и остановке граблей. Трудность в том, что Delphi на одном ПК, а Интернет на другом - отлаживиться тяжко ![]() Последний раз редактировалось T_o_l_i_k; 14.02.2009 в 23:44. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Гиперссылка это как ?? | SanSanblch | Общие вопросы Delphi | 11 | 14.01.2009 20:30 |
как это сделать? | DeDoK | Общие вопросы Delphi | 2 | 11.07.2008 04:41 |
Как это понять If Not Intersect | valerij | Microsoft Office Excel | 18 | 21.06.2008 12:57 |
Не знаю как это сделать:) | LSDkltn | БД в Delphi | 2 | 09.11.2007 13:39 |