Вход | Регистрация
 

Парсинг динамического сайта

Парсинг динамического сайта
Я
   Shamandafil
 
07.07.20 - 10:35
Возникла задача получения информации с сайта налоговой ( https://login.e-taxes.gov.az/login/ ), которую штатными средствами не получить. Разработчики не отвечают. Для этого нужно пройти авторизацию и получить содержимое страницы сгенерированой скриптами. Через ПолеHTMLДокумента на базе IE, сайт не позволяет пройти даже авторизацию, на новых версиях платформы  (>8.3.14) сайт глючит и не позволяет получать данные в 1С. Но из браузера инструментами разработчика можно извлечь html-текст документов и регулярными выражениями получить из них данные для 1С. Может ли кто посоветовать нормальное решение? Поскольку используемое сейчас с расширением браузера очень не надёжно и не тянет больше чем на бета-версию.
   asady
 
1 - 07.07.20 - 10:43
(0) тупо пройти авторизацию отправив POST запрос на сервер получается?
   Shamandafil
 
2 - 07.07.20 - 10:49
Нет. Сайт на каком-то джава движке и служебная часть страниц выглядит, как будто обфусцированная. Полноценный вход (на чтение сайта не нужен) требует подтверждения через СМС-подобную функцию сим-карты телефона.
   asady
 
3 - 07.07.20 - 10:57
(2) ну не хотят разработчики чтобы вы парсили их документы.
остается одно - хакнуть их. да?
   Shamandafil
 
4 - 07.07.20 - 11:30
Не данные криворуких разработчиков, а свои накладные, напомню, что домен gov.az, т.е. дело государственное.
   Волшебник
 
Модератор
5 - 07.07.20 - 11:39
(2) >> служебная часть страниц выглядит, как будто обфусцированная.

может просто сжатая
   Hillsnake
 
6 - 07.07.20 - 11:40
(0) selenium  пробовали ?
   Shamandafil
 
7 - 07.07.20 - 12:06
(6) Нет, а сможет ли он работать в терминальном режиме?
Но как я и сказал, я написал расширение и .NET минивебсервер, получающий от расширения http-запросы, которые передаются в 1С. Спасибо Serginio1 за v8: v8: Использование сборок .NET в 1С 7.x и 8.x .
Для одиноко работающей 1С это как-то работает, но при одновременном запуске, особенно в терминале :(
   Garykom
 
8 - 07.07.20 - 14:03
(0) если содержимое страницы скриптами то значит 100% есть некий API который можно после авторизации дергать
   Garykom
 
9 - 07.07.20 - 14:04
(8)+ простой браузер через fiddler и отследить все запросы, какой API
   Shamandafil
 
10 - 07.07.20 - 14:30
(9) Сложный API, даже если есть, а не просто текст страницы обновляется. Фидлер для этого не использовал, но сетевые запросы отладчиком браузера мониторил, они непрозрачные. Но спасибо за направление.
   Garykom
 
11 - 07.07.20 - 14:45
(10) любой классический апи выдает голый json который уже js обрабатывается и превращается в html
   Shamandafil
 
12 - 07.07.20 - 14:49
(11) Ну это, если он есть, и руки не из жопы. Следов json'а не обнаружил.
   Segate
 
13 - 07.07.20 - 14:50
(12) xslt?
   Shamandafil
 
14 - 08.07.20 - 14:48
(13) следов и этого не обнаружено
   Shamandafil
 
15 - 14.07.20 - 10:10
(6) А есть примеры по работе с ним из 1С?
   Сияющий в темноте
 
16 - 15.07.20 - 01:06
В браузере каком это работает?
к бракзеру можно расширение написать.
   Поросян
 
17 - 15.07.20 - 01:45
это же кража!
но а вообще нужно через библиотеку js парсить такой сайт. и скормить ему сначала данные.
   acht
 
18 - 15.07.20 - 07:22
(17) > это же кража!
Это же Паша!
   Shamandafil
 
19 - 16.07.20 - 10:04
(16) В хроме, в (7) упоминается такое расширение, но оно только захватывает текущий текст страницы и передаёт его в процесс 1С.
   Hillsnake
 
20 - 16.07.20 - 10:19
(15) есть. (7) сможет.
   Shamandafil
 
21 - 16.07.20 - 12:00
(20) А вы будете столь любезны поделиться ссылками на эти примеры?
   Serginio1
 
22 - 16.07.20 - 12:30
(0) Можно попробовать AngleSharp там есть поддержка JavaScript
http://catalog.mista.ru/public/466196/
https://github.com/AngleSharp/AngleSharp
Automated JavaScript interaction
   Serginio1
 
23 - 16.07.20 - 12:33
   Serginio1
 
24 - 16.07.20 - 12:41
   Shamandafil
 
25 - 20.07.20 - 14:40
(16) Но если я правильно понимаю это разбор готового текста на уровне DOM или AngleSharp ещё и позволяет работать скриптам на странице, а также щёлкать по ссылкам на ней для выполнения переходов?
   Serginio1
 
26 - 20.07.20 - 15:45
(25) Да селениум позволяет https://www.guru99.com/selenium-csharp-tutorial.html#15
   Кирпич
 
27 - 20.07.20 - 16:42
(0) вот приблуда. типа имитирует браузер https://phantomjs.org/download.html


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.