![]() |
![]() |
![]() |
|
Парсинг HTML страничек | ☑ | ||
---|---|---|---|---|
0
mzelensky
19.03.13
✎
12:37
|
Доброго всем.
Произвожу парсинг определенных страничек. В принципе все работает, но иногда вылазиет очень не приятный глюк! Запрашиваю нужную страничку и потом произвожу ее разбор.Но если скорость интернета падает или на странице много информации, то она открывается как-бы с задержкой и когда я получаю ее "содержимое", порой бывает, что оно не полное. Как запросить страничку, ДОЖДАТЬСЯ ЕЕ ПОЛНОЙ ПОДГРУЗКИ, а уж потом что-то делать?! |
|||
1
Megas
19.03.13
✎
12:40
|
Чем парсиш?
|
|||
2
acsent
19.03.13
✎
12:40
|
чем грузишь?
|
|||
3
mzelensky
19.03.13
✎
12:41
|
(1) руками! Просто получаю содержимое:
Адрес="http://бла-бла-адрес"; ЭлементыФормы.ПолеHTMLДокумента.Перейти(Адрес); ТекстЧистый=""; ТекстСТегами=""; попытка ТекстЧистый= ЭлементыФормы.ПолеHTMLДокумента.Документ.body.innerText ; //ПЕРВОНАЧАЛЬНЫЙ ТЕКСТ //ТекстСТегами=ЭлементыФормы.ПолеHTMLДокумента.Документ.body.innerHTML; исключение Сообщить("Произошла ошибка получения запроса! Второй вариант - запрашиваемой страницы просто НЕТ!"); возврат; конецПопытки; |
|||
4
ИсчадиеADO
19.03.13
✎
12:42
|
там же событие есть при загрузке
|
|||
5
Megas
19.03.13
✎
12:42
|
(3) Платформа какая?
в "ПолеHTMLДокумента" никак не узнать что она догрузилать |
|||
6
acsent
19.03.13
✎
12:43
|
зачем ие использовать то? юзай http соединение или curl
|
|||
7
zladenuw
19.03.13
✎
12:43
|
(5) а это тогда для чего ? ДокументСформирован()
|
|||
8
mzelensky
19.03.13
✎
12:43
|
(5) 8.2.16.362
|
|||
9
Megas
19.03.13
✎
12:43
|
(7) Хз, у меня не сработало
|
|||
10
mzelensky
19.03.13
✎
12:44
|
(7) это ты откуда выдрал?
|
|||
11
zladenuw
19.03.13
✎
12:44
|
(9) ну как обычно метод есть. а хер работает :)
|
|||
12
Megas
19.03.13
✎
12:44
|
(8) в 8.2 есть лучшие объекты.
что то типа ЧтениеHTML |
|||
13
zladenuw
19.03.13
✎
12:45
|
ПолеHTMLДокумента.ДокументСформирован (HTMLDocumentField.DocumentComplete)
ПолеHTMLДокумента (HTMLDocumentField) ДокументСформирован (DocumentComplete) Синтаксис: ДокументСформирован() Описание: Возникает, когда HTML-документ построен и готов к использованию. |
|||
14
mzelensky
19.03.13
✎
12:45
|
(6) да как-то сподручнее так.
А с "http соединение или curl" какие варианты?! |
|||
15
mzelensky
19.03.13
✎
12:45
|
(13) и как мне его дождаться?! Этого события?
|
|||
16
Megas
19.03.13
✎
12:46
|
Я в 8.1 делал через COM InternetExplorer.application всё хорошо но он жрёт память, а если освобождать то он на себя всегда переключается при создании нового.
Думаю как по другому сделать. |
|||
17
Megas
19.03.13
✎
12:47
|
(13) У меня не сработал, повторюсь
|
|||
18
mzelensky
19.03.13
✎
12:48
|
(12) что-то в СП не совсем пример понятен...использования этого
|
|||
19
Megas
19.03.13
✎
12:50
|
(18) Спроси у людей как деалют они, или по поиску полазь, даже на мисте много примеров.
|
|||
20
Kreont
19.03.13
✎
12:53
|
Вроде такая последовательность чтения есть:
ФайлРезультат = ПолучитьИмяВременногоФайла(); ХТТП.ОтправитьДляОбработки(ПОСТЗапрос,Ресурс,ФайлРезультат,Заголовки); ЧтениеHTML = Новый ЧтениеHTML; ЧтениеHTML.ОткрытьФайл(ФайлРезультат); ПостроительDOM = Новый ПостроительDOM; ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML); |
|||
21
Reset
19.03.13
✎
12:54
|
(14) HTTPСоединение.Получить()
|
|||
22
zladenuw
19.03.13
✎
12:57
|
||||
23
Megas
19.03.13
✎
12:58
|
(22) Это через COM InternetExplorer.application
|
|||
24
mzelensky
19.03.13
✎
13:05
|
(20) я как-то пробовал работать через данный метод (в другйо ситуации) - получалась одна хня :( и я бросил эту дурацкую затею.
Правда в том случае нужно было Post запросы посылать хитрые |
|||
25
mzelensky
19.03.13
✎
13:08
|
(19) В "ЧтениеHTML", как я понял, идет последовательное чтение документа по тегам. Мне это не канат, т.к. страницы содержат очень много "мусора" и я просто запарюсь все это разбирать.
|
|||
26
Megas
19.03.13
✎
13:14
|
(25) Ну вроде типа того это DOM, обычно он удобен.
Я Фиг знает что тебе надо делать, можно воообще по извращенски: КопироватьФайл(СсылкаНаСайт,"C:\temp.html"); |
|||
27
zladenuw
19.03.13
✎
13:17
|
а если добавить активХ windows web browser
там есть метод NavigateComplete |
|||
28
acsent
19.03.13
✎
13:19
|
(14) минус твоего варианта, что нельзя автономно запускать на сервере по расписанию
|
|||
29
zladenuw
19.03.13
✎
13:21
|
можно еще так v8: Помогите с парсером Html
|
|||
30
mzelensky
19.03.13
✎
13:27
|
(7) фигня метод - работает через раз
|
|||
31
mzelensky
19.03.13
✎
13:28
|
(14) мне и не надо автономно. Мне нужно чтобы задал параметры, нажал большую кнопку и ушел курить!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |