powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA и WEB
25 сообщений из 169, страница 5 из 7
VBA и WEB
    #39838656
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyОткройте в Notepad++ и перекодируйте в utf-8, а затем сохраните.Заработало!
...
Рейтинг: 0 / 0
VBA и WEB
    #39838658
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в обычном блокноте писал HTML. Получается обычный блокнот не задает нужную кодировку.
...
Рейтинг: 0 / 0
VBA и WEB
    #39838661
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

Блокнот при сохранении
...
Рейтинг: 0 / 0
VBA и WEB
    #39838761
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyНажатие на [+] приводит к крашу, т.к. это такой баг такая фича типа данных, ничего с этим не поделаешь.Это из за объекта HTMLDocument?

Каждый раз вводить определенный item объекта в Debug.Print не удобно, даже через цикл. Как же можно смотреть иерархию объекта?

Внизу скриншот. В цикле один элемент. На строке elem появляется ошибка.
...
Рейтинг: 0 / 0
VBA и WEB
    #39838765
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkВнизу скриншот. В цикле один элемент. На строке elem появляется ошибка.Даже когда шаг на строке Next elem и нажать на Reset, то все равно зависает.
...
Рейтинг: 0 / 0
VBA и WEB
    #39838766
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно по другому анализировать содержимое?
...
Рейтинг: 0 / 0
VBA и WEB
    #39838770
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

Подождите, Вам же kealon(Ruslan) согласился написать все красиво: 21929211 .
...
Рейтинг: 0 / 0
VBA и WEB
    #39838779
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyferzmikk,

Подождите, Вам же kealon(Ruslan) согласился написать все красиво: 21929211 .ОК
...
Рейтинг: 0 / 0
VBA и WEB
    #39838795
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Усложняю пример, который приближается к реальному.
Дополненный HTML-код
Код: html
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
<html>
  <head>
    <title>Тестовая страница</title>
  </head>
  <body>
    <h1>Статистика</h1>
    <h2>Таблица 1</h2>
    Период: 01.01.2019-30.06.2019<br>
    <br>
    <table class="list border">
      <tbody>
        <tr>
          <th class="left">Колонка 1</th>
          <th>Строка 1 Колонка 2<br>Строка 2 Колонка 2</th>
          <th>Колонка 3</th>
          <th>Колонка 4</th>
          <th class="right">Колонка 5</th>
        </tr>
        <tr class=" ">
          <td>Значение 1.1</td>
          <td style="text-align: center;">
            <a href="?numberId=00001">Значение 1_1.2</a>
            <br><br>
            <a href="?numberId=00001&lotId=00001">Значение 1_2.2</a></td>
          <td>Значение 1.3</td>
          <td nowrap>Значение 1.4</td>
          <td>Значение 1.5</td>
        </tr>
        <tr class="even ">
          <td>Значение 2.1</td>
          <td style="text-align: center;">
            <a href="?numberId=00001">Значение 2_1.2</a>
            <br><br>
            <a href="?numberId=00001&lotId=00002">Значение 2_2.2</a></td>     
          <td>Значение 2.3</td>
          <td nowrap>Значение 2.4</td>
          <td>Значение 2.5<td>
       </tr>
    </tbody>
  </table>
  
  <div class="pagination-is ">
    <div class="pagination"><div class="context">
      <span class="active"><span>1</span></span>
      <a href="/aaaaa/?page=2">2</a>
      <a href="/aaaaa/?page=3">3</a>
      <a href="/aaaaa/?page=4">4</a>
      <a href="/aaaaa/?page=5">5</a>
      <a href="/aaaaa/?page=6">6</a>
      <a href="/aaaaa/?page=7">7</a>
      <a href="/aaaaa/?page=8">8</a>
      <a href="/aaaaa/?page=9">9</a>
      <a href="/aaaaa/?page=10">10</a>
      <span class="dots">...</span> <a href="/aaaaa/?page=10000">10000</a>
    </div></div>
  </div>

  <p><a href="https://yandex.ru">Яндекс</a></p>
  <div>
    <p><a href="https://www.google.com">Google</a></p> 
  </div>
</body>
</html>

Чтобы зацепиться к строке, где присутствует стиль, то как правильно нужно писать? Учитывая еще есть родительский тег div со стилем.
Код: vbnet
1.
Set elems = html.querySelectorAll("span class=""dots""")
...
Рейтинг: 0 / 0
VBA и WEB
    #39838799
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потом, когда узнали количество "страниц" для продолжение таблицы, то как правильно выгружать последующие "страницы"?
...
Рейтинг: 0 / 0
VBA и WEB
    #39838815
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyferzmikk,

Подождите, Вам же kealon(Ruslan) согласился написать все красиво: 21929211 .не вижу в этом сообщении никакой оферты, но могу рассмотреть предложения если такие мысли будут
...
Рейтинг: 0 / 0
VBA и WEB
    #39838881
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkУсложняю пример, который приближается к реальному.
Дополненный HTML-код
Код: html
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
<html>
  <head>
    <title>Тестовая страница</title>
  </head>
  <body>
    <h1>Статистика</h1>
    <h2>Таблица 1</h2>
    Период: 01.01.2019-30.06.2019<br>
    <br>
    <table class="list border">
      <tbody>
        <tr>
          <th class="left">Колонка 1</th>
          <th>Строка 1 Колонка 2<br>Строка 2 Колонка 2</th>
          <th>Колонка 3</th>
          <th>Колонка 4</th>
          <th class="right">Колонка 5</th>
        </tr>
        <tr class=" ">
          <td>Значение 1.1</td>
          <td style="text-align: center;">
            <a href="?numberId=00001">Значение 1_1.2</a>
            <br><br>
            <a href="?numberId=00001&lotId=00001">Значение 1_2.2</a></td>
          <td>Значение 1.3</td>
          <td nowrap>Значение 1.4</td>
          <td>Значение 1.5</td>
        </tr>
        <tr class="even ">
          <td>Значение 2.1</td>
          <td style="text-align: center;">
            <a href="?numberId=00001">Значение 2_1.2</a>
            <br><br>
            <a href="?numberId=00001&lotId=00002">Значение 2_2.2</a></td>     
          <td>Значение 2.3</td>
          <td nowrap>Значение 2.4</td>
          <td>Значение 2.5<td>
       </tr>
    </tbody>
  </table>
  
  <div class="pagination-is ">
    <div class="pagination"><div class="context">
      <span class="active"><span>1</span></span>
      <a href="/aaaaa/?page=2">2</a>
      <a href="/aaaaa/?page=3">3</a>
      <a href="/aaaaa/?page=4">4</a>
      <a href="/aaaaa/?page=5">5</a>
      <a href="/aaaaa/?page=6">6</a>
      <a href="/aaaaa/?page=7">7</a>
      <a href="/aaaaa/?page=8">8</a>
      <a href="/aaaaa/?page=9">9</a>
      <a href="/aaaaa/?page=10">10</a>
      <span class="dots">...</span> <a href="/aaaaa/?page=10000">10000</a>
    </div></div>
  </div>

  <p><a href="https://yandex.ru">Яндекс</a></p>
  <div>
    <p><a href="https://www.google.com">Google</a></p> 
  </div>
</body>
</html>

Чтобы зацепиться к строке, где присутствует стиль, то как правильно нужно писать? Учитывая еще есть родительский тег div со стилем.
Код: vbnet
1.
Set elems = html.querySelectorAll("span class=""dots""")



ferzmikkПотом, когда узнали количество "страниц" для продолжение таблицы, то как правильно выгружать последующие "страницы"?
...
Рейтинг: 0 / 0
VBA и WEB
    #39839077
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)iMrTidyferzmikk,
Подождите, Вам же kealon(Ruslan) согласился написать все красиво: 21929211 .не вижу в этом сообщении никакой оферты, но могу рассмотреть предложения если такие мысли будут
kealon(Ruslan)а я бы php взял, удобнее гораздо
kealon(Ruslan)там очень удобный и достаточно надёжный преобразователь html в xml
kealon(Ruslan)ну а дальше довольно тривиально ищется что нужно
kealon(Ruslan)давно пора завязывать с такими поделками
kealon(Ruslan)если мне будет нужно со своего сайта достать инфу, я её точно в html передавать не буду
kealon(Ruslan)Хорошо, по-русски: то что вы описываете тут уже 3-ю страницу неюзабельно в современных реалиях. Это просто очень дорого в создании и поддержке. За знания того, как накостылять HTMLDocument , что бы он "допетрил", никто не заплатит.
kealon(Ruslan)плохо доводит
спотыкается на примитивных вещах
kealon(Ruslan)я не собираюсь вам доказывать насколько мс отстал
kealon(Ruslan)я бы просто написал на чём ни будь вменяемом
и в ексель уже готовое сливал
на крайний случай бы просто написал обёртку с COM-интерфейсом которая будет давать xml, приведённый к адекватному

но мы же явно поиграть хотим
kealon(Ruslan)парсер нижнего уровня
внезапно ..., да?

А я считаю, что все это явно указывает, что Вы горите желанием, демонстрируете свои глубокие знания в теме, и даже хотели бы сделать как надо, но, видимо, я мешаю, больше не мешаю, вперед. Только балаболы за свои слова не отвечают. Выбор за Вами.
...
Рейтинг: 0 / 0
VBA и WEB
    #39839085
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy,

Выбор за ТС - 21929516 , если наиграется и решит, что не его это дело, всегда пожалуйста, обсудим.
Ему уже много раз сказали, и не я один, что он выбрал плохой путь. Но можно конечно и безнадёжного поддерживать, если есть желающий оплатить сей процесс.
...
Рейтинг: 0 / 0
VBA и WEB
    #39839137
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, поскольку я не делал сайты и начал парсинги писать, то могу многое чего не знать. Начал изучать HTML и CSS. Не знаю нужно ли изучать JavaScript, но если не ошибаюсь, там могут сидеть данные и фильтр.

Какой то код на VBA уже написан по выгрузке данных из сайта. Осталось немного дописать с учетом
- выгрузить количество страниц не через
Код: vbnet
1.
2.
3.
Set elems = doc.querySelectorAll("body > a")
Set elem = elems(elems.Length - 1)
Debug.Print elem.innerText

а через использования стиля
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
  <div class="pagination-is ">
    <div class="pagination"><div class="context">
      <span class="active"><span>1</span></span>
      <a href="/aaaaa/?page=2">2</a>
      <a href="/aaaaa/?page=10">10</a>
      <span class="dots">...</span> <a href="/aaaaa/?page=10000">10000</a>
    </div></div>
  </div>

- выгрузка последующих страниц
- с использованием аутентификации
- с использованием фильтра

kealon(Ruslan)Ему уже много раз сказали, и не я один, что он выбрал плохой путь.Тогда если это действительно плохой путь, то хотелось бы понять чем конкретно плох. Все таки задачи разные бывают по парсингу, сайты разные, как говорите валидные/не валидные. Тогда скажите конкретно как делать правильно? Использовать другой объект? У VBA ограничения есть? Писать не на VBA, а на VB.Net, С# или на Pyton? На этих языках программирования также будет не надежно? Пожалуйста, порекомендуйте конкретную путевую литературу, где об парсинге пишут достаточно подробно и понятно с учетом разных логических нюансов, исходя данной задачи. Или ссылки на сайты, где по Вашему мнению правильно описывается как делать.
...
Рейтинг: 0 / 0
VBA и WEB
    #39839161
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
VBA и WEB
    #39839175
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Onecurl тебе в помощь

https://levashove.ru/how-to-install-curl-on-windows-10/ Я правильно понимаю, что пишется на php?
...
Рейтинг: 0 / 0
VBA и WEB
    #39839188
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, это утилита командной строки для отправки запросов по http
...
Рейтинг: 0 / 0
VBA и WEB
    #39839200
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneнет, это утилита командной строки для отправки запросов по httpЕго каждый раз вручную надо запускать?
...
Рейтинг: 0 / 0
VBA и WEB
    #39839205
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можешь автоматизировать , написать батник, например
...
Рейтинг: 0 / 0
VBA и WEB
    #39839207
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneможешь автоматизировать , написать батник, напримерТогда тут без VBA. Это пишется на VBScript? А тот but может результат в excel выложить как умную таблицу?
...
Рейтинг: 0 / 0
VBA и WEB
    #39839208
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Onecurl тебе в помощьчестно говоря, не понимаю, чем это поможет ТС-у ?

Ну будет он получать html-код страницы не с помощью COM-объекта XMLHTTP, а с помощью curl-а, - и что дальше ?
У него нет проблемы с получением html-кода, у него проблема с тем как распарсить этот полученный код, особенно в случае если код "кривоватый" ...
...
Рейтинг: 0 / 0
VBA и WEB
    #39839209
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
courtУ него нет проблемы с получением html-кода, у него проблема с тем как распарсить этот полученный код, особенно в случае если код "кривоватый" ...Если Вы про HTML-код из файла, то это пока условный пример для экспериментирования выгрузки данные из сайта, чтобы потом выгружать из реального примера.
...
Рейтинг: 0 / 0
VBA и WEB
    #39839210
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkcourtУ него нет проблемы с получением html-кода, у него проблема с тем как распарсить этот полученный код, особенно в случае если код "кривоватый" ...Если Вы про HTML-код из файла, то это пока условный пример для экспериментирования выгрузки данные из сайта, чтобы потом выгружать из реального примера.Нет-нет, я в принципе, про любой сайт.
...
Рейтинг: 0 / 0
VBA и WEB
    #39839212
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с такими знаниями никакой динамический парсер не напишешь, так что ТСу придётся делать что-то кривенькое и с ограниченными возможностями
...
Рейтинг: 0 / 0
25 сообщений из 169, страница 5 из 7
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA и WEB
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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