Страницы: 1
RSS
Парсинг сайтов через vba. Без доп. ПО, установки драйверов, Selenium и прочего., Необходим способ парсинга сайтов.
 
Добрый день! Вопрос к спецам: существует ли какой-нибудь способ парсинга сайтов без установки ПО и прочей требухи? - есть корпоратиная безопасность и сопутствующий, с этим, геморрой, Internet Explorer не грузит многие элементы сайтов, использование прямых запросов требует определённых знаний, а эти знания не консолидированы в доступную, для чайников, структуру с применением в vba.( интересует сайт с авторизацией).
Обычные сайты парсил с помощью туториала, пользователя данного форума с Дейлом на аватарке(спасибо ему), на его канале.

Перерыл большой обьем информации и туториалы есть либо по Selenium, либо по ie, либо, очень скудно, через msxml2 и подобные.

Подходит только vba т. к. Excel стоит на каждом "утюге".

Спасибо.
 
Сайт сайту рознь, покажите хоть его, сайт этот
 
whateverlover, да, собственно, нет какого-то конкретного. Меня устраивал ie, пока он прогружал все. Какой-нибудь похожий способ на него или Selenium, но без установок, корректировок реестра... Нашел способ через пользовательские классы, но нужно ковырять реестр. Это позволит использовать edge вместо ie.  
 
Цитата
Jerry.Sweer написал:
да, собственно, нет какого-то конкретного
Ну тогда и говорить не о чем. Есть сайты, которые без Selenium не спарсить. Может то, что Вы там прогружаете и прогружать через IE вовсе не надо, нужно просто направлять запросы.
 
Я правильно понял, что нужно одновременно:
- использовать современный браузер (не IE)
- не устанавливать никакого ПО, и не вносить изменений в реестр
- использовать VBA
?

Если так, — то это возможно, но достаточно трудоёмко в плане кода.
Ведь что нужно для парсинга, — прежде всего получить исходный код страницы из браузера.
Вручную вы это можете сделать (нажав Ctrl + U, Ctrl + A, Ctrl + C) — значит, то же самое можно сделать и программно.
Открыть страницу в нужном браузере - одна строка кода.
А далее — WinAPI вам в помощь (найти нужное окно, послать сочетания клавиш, считать содержимое буфера обмена)
Изменено: Игорь - 14.11.2022 02:21:34
 
Игорь, тут сложность состоит в том, что с сайтов грузится форма graphql. Сайты есть на asp. Net. Там хитрожопая система получения token. У меня нехватает знаний для работы через прямой запрос. Если бы был способ через браузер все было бы легче.Через api я непонимаю как работать с graphql.

Написал, на api, код по принципу autoit., все работает, но долго и нет контроля. Не угадав задержку получается фигня. Нужно сидеть и мониторить, чтоб не сбилось.  
 
Пробую спарсить сайт через прямой запрос. Может хоть тут кто-то подскажет: для корпоративного сайта, чтоб пройти csrf, нужен token. Поковырялся и нашел, что его генерирует js код. Как можно получить этот token?  
 
Jerry.Sweer, сгенерировать с помощью js-кода?
 
Это гениально! Как я сам не догадался. Спасибо большое. А можно в репутацию сразу 1000 добавлять?
Сейчас начинаю учить js.  
 
Цитата
форма graphql. Сайты есть на asp. Net ... чтоб пройти csrf, нужен token
для работы с такими сайтами браузер не нужен
там всё отлично делается без использования браузера

Цитата
нашел, что его генерирует js код
сколько попадалось сайтов на этом движке - везде токен из кода страницы брался вроде (ну точно никакой js выполнять не нужно было)
может, что-то не то нашли?
 
Игорь, запустил запрос через fiddler2. Идет перенаправление сначала на js, а потом подгружается graphql. При простом обновлении страницы вылетает 404 ошибка. Приходится выходить и заходить по новой. Т. е. Token меняется каждый раз. Генерирует его js. Есть надежда, что его можно как-то серез cookie получить, но нехватает знаний. Selenium поставить не могу - гадская корпоративная безопасность, ie не грузит элементы вообще, в режиме edge подключиться не могу т. к. способ работает на Windows минимум 20H2 версии. Нашел описание работы через Chrome Devtools Protocol, но как-то коряво работает.

Вопрос в том, что и особо литературы нет по этой теме с адаптацией под vba.


Спасибо за заинтересованность моим вопросом, но думаю, что придётся искать ответы на импортных сайтах.  
Страницы: 1
Наверх