|
VBA и WEB
|
|||
---|---|---|---|
#18+
Konst_Oneс такими знаниями никакой динамический парсер не напишешь, так что ТСу придётся делать что-то кривенькое и с ограниченными возможностямиРаз пошла такая тема, то может есть смысл расписать здесь плюсы и минусы каждого способа из имеющего набора. Пусть даже есть способ, как Вы говорите, кривенькое и с ограниченными возможностями, но заданую задачу может реализовать нормально. У сайта задана своя структура. Если в какой момент времени в таблицу добавилась колонка, переместилась или удалилась, то это можно поправить код VBA. Или прописать так в коде VBA, чтобы сам это улавливал. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 13:56 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
1. есть уже готовые универсальные парсеры сайтов, ищите. 2. если хотите сами, но не понимаете как это всё работает, то стоит начать с изучения основ html 3. если основы осилили, попробуйте работать для начала с интерактивом посредством встроенного браузера (компонент интернет эксплорера), который вы можете поместить внутрь своей формы и реагировать на события DOM (ищите примеры, это делали много раз уже до вас) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 14:00 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Konst_One1. есть уже готовые универсальные парсеры сайтов, ищите.На VBA? Надстройка для Excel? 2. если хотите сами, но не понимаете как это всё работает, то стоит начать с изучения основ htmlJavaScript надо изучать? 3. если основы осилили, попробуйте работать для начала с интерактивом посредством встроенного браузера (компонент интернет эксплорера), который вы можете поместить внутрь своей формы и реагировать на события DOM (ищите примеры, это делали много раз уже до вас)Я правильно понимаю, в excel используется объект как встроенный браузер и в зависимости куда захожу - VBA выгружает данные? Это используется совместно с JavaScript? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 14:10 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
It was enough to add a reference to Microsoft Internet Controls ( ieframe.dll ), then use the following code in a form: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 14:26 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
да уж, всё хуже, чем я думал. он в рантайме добавляется, а вы в дизайнтайме ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 14:53 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
ferzmikkKonst_One, правой педалью по Tollbox, в контекстном меню выбираешь "Additional Controls" И там это : ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 14:56 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Я правильно понимаю, что парсить надо с объекта pDisp.document? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 15:25 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
ничего там не надо парсить, это полное дерево DOM всех элементов документа ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 15:35 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9.
Почему не выгружаются элементы класса pagination ? Или не то делаю? Объект pDisp.document имеет тип HTMLDocument. Почему не видит метод getElementsByClassName? https://developer.mozilla.org/ru/docs/Web/API/Document/getElementsByClassName ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 16:20 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 16:30 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Вышел на класс pagination , а на context не выходит. Как правильно выйти на элементы класса context ? В окне watсhes видно, что - объект htmlDoc.getElementsByClassName("pagination") имеет возвращаемый тип DispHTMLElementCollection - объект htmlDoc.getElementsByClassName("pagination")(0) имеет возвращаемый тип HTMLDivElement. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 17:04 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
делай присвоение к переменным нужного типа (коллекциям, элементу и тп), а уже потом работай с этой переменной дальше ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 17:06 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Konst_Oneделай присвоение к переменным нужного типа (коллекциям, элементу и тп), а уже потом работай с этой переменной дальшеПочему в объект htmlDoc2_1 не присваивается? Хотя тип данных соответствующий. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 17:40 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Фрагмент HTML-кода Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 18:00 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
почитай уж документацию что ли, коллекция всех элементов A в документе ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 18:03 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Тупанул тут я. В каждой строке присвоения написал htmlDoc. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 18:20 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Как видим из объекта htmlDoc2, который имеет тип I HTMLElementCollection нельзя использовать как объект HTMLElementCollection, чтобы использовать метод getElementsByClassName("context"). Я правильно понимаю тип IHTMLElementCollection никак нельзя преобразовать в тип HTMLElementCollection? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 19:09 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Написал код, определяющий количество "страничек". Но как то не красиво получается. Да еще в объект htmlDoc4 не присваивается. Как можно было написать правильнее? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 19:31 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Идея заключается в том, что: На первом этапе из всего документа вытащить коллекцию класса pagination , На втором этапе из полученной коллекции на первом этапе вытащить (.item(0)) коллекция класса context На третьем этапе из полученной коллекции на втором этапе вытащить (.item(0)) коллекцию тега а На четвертом этапе из полученной коллекции на третьем этапе вытащить (.item(последний item)) количество "страничек" Возможно на каких то сайтах придется парсить, скажем из 10 шагов. Скажите, так получится сделать? Или тут надо по другому делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2019, 02:28 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
Я правильно понимаю, что возможно сделать по следующей схеме? HTMLDocument → IHTMLElementCollection → IHTMLElement → [n1][m1]Children → [n2][m2]Children → [n3][m3]Children → и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2019, 02:38 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
ferzmikkНаписал код, определяющий количество "страничек". Но как то не красиво получается. Да еще в объект htmlDoc4 не присваивается. Как можно было написать правильнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 12:21 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
ferzmikkferzmikkНаписал код, определяющий количество "страничек". Но как то не красиво получается. Да еще в объект htmlDoc4 не присваивается. Как можно было написать правильнее?Это всё лишние "телодвижения" :) XMLHTTP - тебе ошибкой скажет, что запрошена несуществующая страница Если парсишь через IE, WebBrowser - то сигнатура полученной страницы будет не соответствовать "нормальной" странице, и это как условие выхода можно использовать ... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 12:43 |
|
VBA и WEB
|
|||
---|---|---|---|
#18+
courtXMLHTTP - тебе ошибкой скажет, что запрошена несуществующая страницаПодключаешься же к запрашиваемой странице. Или это другое? Если парсишь через IE, WebBrowser - то сигнатура полученной страницы будет не соответствовать "нормальной" странице, и это как условие выхода можно использовать ...Как быть теперь? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 12:50 |
|
|
start [/forum/topic.php?fid=61&msg=39839454&tid=2172006]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 278ms |
total: | 432ms |
0 / 0 |