Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - вытянуть информацию из html полученного через curl

Ответить
Настройки темы
PowerShell - вытянуть информацию из html полученного через curl

Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: Griboed0ff
Дата: 17-09-2021
Доброго всем времени суток. Есть задача, которую надо решить именно через bat. Через curl скачивается страничка и из нее нужно извлечь нужную информацию, на скрине отмечено, что нужно вытянуть мак-адрес, номер телефона, модель и серийный номер. На данный момент батник уже может: узнает какая подсеть на компе, потом сканит диапазон из этой подсети, потом curl скачивает странички с айпишки с данными. А вот далее нужно, чтобы батник мог как-то вытянуть данные со странички и плюс как-то мог сам подставить все странички, которые есть в папке.

Отправлено: 08:26, 16-04-2020

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
$ips = 130..190 |% {"$((Get-Netipaddress |? ipaddress -match "^10\.").ipaddress -replace "\d+$")" + $_}
Экспорт в csv:
Код: Выделить весь код
$report |export-csv -Path c:\temp\123.csv -Delimiter ';' -Encoding utf8 -NoTypeInformation

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 14:10, 16-04-2020 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


почему то повторяются значения.

Последний раз редактировалось Griboed0ff, 17-09-2021 в 15:32.


Отправлено: 14:30, 16-04-2020 | #22


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Вставьте после $report += $obj
Код: Выделить весь код
Clear-Variable html,obj
Также, для наглядности добавьте в $obj IP-адрес:
Код: Выделить весь код
        $obj = [pscustomobject]@{'IP' = $ip
        'MAC-адрес'= $html[-18]
        'Номер телефона'= $html[-16]
        'Серийный номер'= $html[-11]
        'Номер модели'= $html[-10]
        }

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:39, 16-04-2020 | #23


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


еще заметил что разные модели имеют разный адрес странички, http://10.83.3.156/ и если изменить адрес на $html = (curl "http://$ip").rawcontent -replace "<.*?>",";" -split ';+ ' -replace "^.*;", то ничего не находит
MAC-адрес Номер телефона Серийный номер Номер модели
--------- -------------- -------------- ------------
HTTP/1.1 200 OK...

Отправлено: 15:06, 16-04-2020 | #24


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


другие модели имеют другую структуру страничек.

Последний раз редактировалось Griboed0ff, 17-09-2021 в 15:32.


Отправлено: 15:26, 16-04-2020 | #25


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
Вставьте после $report += $obj »
спасибо работает и вид лучше с ip более понятно.

Отправлено: 15:38, 16-04-2020 | #26


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


изменил адрес странички, айпишки, которые до этого нормально отдавали данные, даже просто по адресу (http://10.83.3.156/) нормально работает и дальше. Но другие модели не получается снять данные, похоже поиск неправильно работает.

Последний раз редактировалось Griboed0ff, 17-09-2021 в 15:32.


Отправлено: 15:50, 16-04-2020 | #27


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Цитата Griboed0ff:
другие модели »
Сколько у вас этих моделей? Я что-то утомился уже, не ожидал, что придётся тут целый проект мутить на коленке.

А как это батником вы собирались реализовывать, вообще уму непостижимо.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 18:22, 16-04-2020 | #28


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


две модели у нас, у второй просто другой адрес, структура поменялась и получается парсер не срабатывает. Я так понимаю дело в
Цитата DJ Mogarych:
$obj = [pscustomobject]@{'IP' = $ip
'MAC-адрес'= $html[-18]
'Номер телефона'= $html[-16]
'Серийный номер'= $html[-11]
'Номер модели'= $html[-10]
} »
в цифрах в конце строк -18 -16 -11 -10, но не могу понять как это работает, чтобы подогнать под другую страничку, слова поиска совпадают так же адрес номер серийник модель.

Последний раз редактировалось Griboed0ff, 17-09-2021 в 15:32.


Отправлено: 18:45, 16-04-2020 | #29


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Ладно, две попробуем.

Надо эти HTML-файлы парсить по-разному, там даже в одной и той же таблицы тэги отсортированы по-разному, вот, например, в нужной таблице:
Первая модель - <table cellspacing="10" cellpadding="0" border="0">
Вторая модель - <TABLE BORDER="0" CELLSPACING="10" CELLPADDING="0">

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:49, 16-04-2020 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - вытянуть информацию из html полученного через curl

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как получить информацию, не отображаемую в 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




 
Переход