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

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