|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - вытянуть информацию из html полученного через curl |
|
PowerShell - вытянуть информацию из html полученного через curl
|
Старожил Сообщения: 211 |
Доброго всем времени суток. Есть задача, которую надо решить именно через bat. Через curl скачивается страничка и из нее нужно извлечь нужную информацию, на скрине отмечено, что нужно вытянуть мак-адрес, номер телефона, модель и серийный номер. На данный момент батник уже может: узнает какая подсеть на компе, потом сканит диапазон из этой подсети, потом curl скачивает странички с айпишки с данными. А вот далее нужно, чтобы батник мог как-то вытянуть данные со странички и плюс как-то мог сам подставить все странички, которые есть в папке.
|
|
Отправлено: 08:26, 16-04-2020 |
Старожил Сообщения: 211
|
Профиль | Отправить PM | Цитировать @echo off
::chcp 866 cd /d "%~d0%~p0" :: Удаляем файлы с прошлого запуска ERASE 1.txt, 2.txt, 3.txt, 4.txt :: узнаем ip пк setlocal enabledelayedexpansion (for /f "usebackq tokens=2 delims=:" %%a in (`ipconfig ^| findstr /r "[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*"`) do ( set _temp=%%a set _ipaddress=!_temp:~1! echo !_ipaddress! >1.txt )) :: убираем последнюю цыфру ip for /F %%i in (1.txt) do set result=%%i set str=%result% Echo %str:~0,7% >2.txt :: берем предыдущее значение и пингуем 130-190. for /F %%i in (2.txt) do set result2=%%i for /l %%i in (130,1,190) do ping -n 1 -w 400 -l 1 %result2%.%%i >nul 2>&1 && arp -a %result2%.%%i|findstr "динам">>3.txt :: выбираем из списка только ip FOR /f "usebackq delims= " %%i IN ("3.txt") DO echo %%i>> 4.txt ::подставляем ip в команду скачивания странички. FOR /f "usebackq delims=" %%i IN ("4.txt") DO ( set result3=%%i D:\bat\phone\curl-7.69.1-win64-mingw\bin\curl -k -o %%i.txt https://%%i/CGI/Java/Serviceability?...tistics.device >nul 2>&1 ) ::ищем и копируем нужно на страничке pause в общем батник для сбора информации о телефонах в подсети, в которой находится пк. У телефонов только есть веб морда, с которой есть нужная инфа. |
Отправлено: 08:27, 16-04-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось DJ Mogarych, 16-04-2020 в 09:21. Отправлено: 08:57, 16-04-2020 | #3 |
Старожил Сообщения: 211
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
|
|
Отправлено: 09:37, 16-04-2020 | #4 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Вряд ли переписать будет сложно.
В Powershell есть команда curl, это не точная копия, но, полагаю, с вашей задачей справится. На мой взгляд, это гораздо понятнее батников с их нагромождением костылей и спецсимволов. К тому же, в PS мы имеем дело с объектами, а не с текстом. |
|
------- Отправлено: 10:17, 16-04-2020 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Griboed0ff, переписывайте.
|
Отправлено: 10:17, 16-04-2020 | #6 |
Старожил Сообщения: 211
|
Профиль | Отправить PM | Цитировать Пробовал запустить отрабатывает без ошибок, но где результат посмотреть или записать его в файл?!
Цитата DJ Mogarych:
|
|
Отправлено: 10:17, 16-04-2020 | #7 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Я поместил результат в переменную $obj.
Чтобы вывести её содержимое, нужно написать $obj после скрипта. Самый наглядный метод - выполнять скрипт из Powershell ISE (см. в меню Пуск). Там есть кнопочка "плей", как на магнитофоне. Вам файл в каком виде нужен? |
------- Отправлено: 10:22, 16-04-2020 | #8 |
Старожил Сообщения: 211
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
Тогда помогите пожалуйста с остальным: задача снять данные с веб морд айпишек в диапазоне *.*.*.130-*.*.*.190, в подсети где находится комп на котором запускается, сложить это все в .csv или txt curl на компах не установлен, я просто ложил рядом с батником и указывал в батнике путь к нему. Можно ли в Powershell только встроенными средствами? |
|
Отправлено: 10:27, 16-04-2020 | #9 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 10:36, 16-04-2020 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Как получить информацию, не отображаемую в HTML-коде? | Apock | Вебмастеру | 0 | 26-12-2015 22:11 | |
Имитация браузера через cURL | dmit.medv | Вебмастеру | 0 | 28-12-2012 18:02 | |
[решено] Вывести информацию из файла через JS | MultiMax | Вебмастеру | 1 | 31-05-2011 22:58 | |
[решено] Вытянуть содержание HTML тега с помощью регулярных выражений | aesir | AutoIt | 4 | 28-08-2009 21:22 | |
Как передать в javascript данные массива, полученного из кода на php | vagner_HATE | Вебмастеру | 1 | 18-06-2009 13:51 |
|