Страницы: 1
RSS
извлечение HTML таблиц
 
Приветствую. Прошу помощи. Не могу разобраться. мне нужно извлечь информацию из HTML таблиц. Но не могу разобраться как это сделать.
К сожалению ссылку выкладывать нет смысла, так как на сайт можно зайти только из под сети. Постараюсь все подробно описать.
Что я делаю на данном ресурсе: указываю ИНН, период. По данному запросу вываливаются документы.
Когда я указываю ИНН и период в HTML коде не чего не меняется и выглядит он так:
Код
<html lang="ru"> <head>    <meta charset="utf-8"/>    <title>БЛА БЛА</title>    <base href="/бла/"/>
     <meta name="viewport" content="width=device-width, initial-scale=1"/> 
  <link type="image/png" sizes="32x32" rel="icon" href="./favicon-32.png"/> 
<link rel="stylesheet" href="styles.c3ce6e3af0134bf988bb.css"></head> 
<body>    <div class="index-content">      <div class="common-bkg"></div>   
  <app-root></app-root>    </div>  <script
src="runtime.a01c58b958d6cdc5bdab.js" defer></script><script
src="polyfills.377cf92b86fbe9bfd4c7.js" defer></script><script
src="scripts.9a69fe6b98afaed077f5.js" defer></script><script
src="main.9d941841bd24e3e4beaf.js" defer></script></body></html>
Я не разбираюсь в HTML, но потыкав понял, что тут нечего интересного. И вот когда я ввожу ИНН и период, ВСПЛЫВАЮЩИМ окном всплывает вкладочка, где перечисляются документы, а в коде появляется заветная для меня и непонятное продолжение
Код
<div class="cdk-overlay-container"></div>
а если ткнуть в любой документ, он визуально раскроется табличкой, а у указанной строчки кода появится вначале треугольник говорящий, что теперь этот контейнер можно развернуть и посмотреть, а там и будет <table
Скажите пожалуйста как обратится к указанному контейнеру?

Самым простым способом:
Код
Public Sub test()
Dim xhr As New XMLHTTP60
xhr.Open "GET",
"https://блабла",
False
xhr.send
Debug.Print xhr.responseText

End Sub
я не вижу указанного контейнера.

ПС Ребят, забыл сказать, что указанный ресурс работает исключительно на хроме.
Изменено: Сергей020487 - 01.06.2023 11:08:40
 
Вероятно таблица полностью создаётся JS-скриптом, в таком случае, при простом обращении без взаимодействия с интерфейсом вы её не найдёте. Единственное, что пришло в голову: если введённые данные страница заталкивает в GET-параметры. Тогда можно эмулировать обращение с указанными параметрами и таблица может появиться.
Изменено: Призрак - 01.06.2023 11:38:57
 
Призрак, заталкивать в GET например как?
 
Я не говорю, что сработает, я не вижу как там устроено, просто иногда так может работать. Заполненные поля передаются в GET-параметры и создаётся запрос на эту же страницу.
Как пример, этот же сайт, но тут через php, а бывает иначе:
Код
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=157981&TITLE_SEO=157981-izvlechenie-html-tablits
Мы обращаемся всегда к одному и тому же файлу, но передаём ему параметры:
Код
?PAGE_NAME=read&FID=1&TID=157981&TITLE_SEO=157981-izvlechenie-html-tablits
Иногда делают так, что заполнение какой-то формы то же самое делает. Если это ваш случай, то есть шанс вызвать таблицу. Сказать не могу, так как не вижу страницу))

Просто высказал предположение, не более.
 
Практически невозможно помочь в подобных вопросах, когда нет доступа к сайту.
(ибо угадывать можно бесконечно долго)
В браузере надо нажать F12, и смотреть, какие запросы выполняются браузером при вводе ИНН и дат
А потом макросом выполнять аналогичные запросы

Цитата
указанный ресурс работает исключительно на хроме
а если в IE открыть - какую ошибку пишет? может получиться так, что макрос потребуется совсем другой
(с подключением к Chrome)

Цитата
Самым простым способом я не вижу указанного контейнера.
Ну хорошо что вообще какой-то ответ получаете (если это не пустая страница)
Значит, без Хрома с этим сайтом всё-таки можно работать
Авторизация на этом сайте требуется? (ваш макрос без авторизации работает)

PS: вопрос не имеет отношения к Excel (и даже к макросам, на данном этапе)
Потому что стоит задача разобраться, что происходит (в результате работы скриптов) на странице сайта при вводе ИНН, - это тематика не для форума по Excel
Будь сайт доступен из интернета - подсказали бы. А в таком виде как сейчас, есть 2 варианта: либо на форум телепатов, либо в платный раздел, и не факт что даже этого форума (ибо тут могут потребоваться десятки сообщений, только чтобы понять как что там работает)
 
Игорь, Когда я ввожу инн и дату в коде нечего не меняется (на мой взгляд), но в адресной строке появляются сведения - ?PAGE и далее инн и дата. Я подозреваю что с адресной строки потом дергуются эти сведения в скрипт.
В IE при запуске этого адреса вообще нечего не говорит, просто фон красится в цвет странички и на этом этапе просто все глохнет, подозреваю что IE не поддерживает жаву или его просто не обновляют.
Простейший код выдает то что у меня в стартовом посте.
Авторизация требуется, но там один раз вошел и почти больше не когда не спрашивает, макрос работает.
 
Цитата
но в адресной строке появляются сведения
вообще можно не смотреть на адресную строку
надо смотреть какие запросы выполняет браузер к сайту
Цитата
с адресной строки потом дергуются эти сведения в скрипт
нет, наоборот. скрипт может менять адрес. из адресной строки скрипт ничего не берет, у него эти данные и без того есть
Цитата
но там один раз вошел и почти больше не когда не спрашивает, макрос работает
ну это в браузере Chrome. макрос не имеет никакого отношения к Хрому
Что значит «макрос работает»? если бы он работал, этой темы на форуме не было бы
Макросу авторизация была бы доступна, авторизуйтесь вы вручную в браузере IE (именно в нем, а не в другом)
Сейчас же макрос грузит страницу сайта без авторизации
 
Сергей020487, значит в GET-параметры таки попадают данные при заполнении форм. Попробуйте из макроса запрос сделать, скопировав ссылку с GET-параметрами.
В адрес добавьте ?PAGE и далее инн и дата всё что там есть на момент ручного открытия и гляньте увидит ли макрос таблицу. Возможно, она уже доступна на странице при переходе с GET-параметрами и остаётся её только взять.
 
Призрак, Спасибо, сейчас буду пробовать
Страницы: 1
Читают тему
Наверх