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

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

Ответить
Настройки темы
Любой язык - [решено] Скачиваине странички целиком

Новый участник


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

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


Изменения
Автор: jack_nuclear
Дата: 14-12-2019
Доброго времени суток, форумчане. Нужно скачать страницу сайта т.е. повторить действия браузера по скачиванию страницы целиком. "Только HTML" - сайт отдает страницу для роботов Или прошу пнуть в правильном направлении. Пока я не нашел примеров со скачиванием страницы целиком. Все найденные мной скрипты утыкаются в страницу для роботов. Буду благодарен любой помощи. Wget мне не смог помочь

Что будет сделано дальше уже посредством батника, после скачивания страницы:
Открытие html, поиск класса, копирование с него зачения href в переменную, wget`ом скачать переменную

Отправлено: 15:12, 14-12-2019

 

Новый участник


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

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


Iska, почта заканчивается на 3090. Не хочу засирать тему тут ибо вы уже дали готовый код. Если посчитаете дальнейшее обсуждение примером для других - не вопрос. можно и тут

Отправлено: 20:29, 15-12-2019 | #11



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

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


Новый участник


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

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


Iska, Доброго времени суток. Под powershell 7 не работает. Пишет
Код: Выделить весь код
Cannot find an overload for "getElementsByClassName" and the argument count: "1"
У PS7
Document : System.__ComObject

У PS5
Document : mshtml.HTMLDocumentClass

$oIE | Get-Member - говорит есть свойство Document
$oIE.Document | Get-Member - говорит есть метод getElementsByClassName

Подозреваю проблема в Microsoft.mshtml.dll. Подскажите что делать. Так не хочу запускать PS5 из PS7


p.s. в дебрях гугла нашел вот такое

Код: Выделить весь код
$oIE=new-object -com internetexplorer.application
$oIE.navigate2(“about:blank”)
while ($oIE.busy) {
    sleep -milliseconds 50
}
$oIE.visible=$true
$procList=ps |select-object ProcessName,Handles,NPM,PM,WS,VM,CPU,Id |convertto-html

$oDocBody=$oIE.document.documentelement.lastchild ;

#populate the document.body
$oDocBody.innerhtml=$procList

$oDocBody.style.font=”12pt Arial”;
$oIE.document.bgcolor=”#D7D7EA”

#Reading back from IE.
$oTBody=@($oIE.document.getElementsByTagName(“TBODY”))[0] ;
foreach ($oRow in $oTBody.childNodes)
{
   #check the 4 column(WS),and highlight it if it is greater than 5MB.
   $WS=(@($oRow.childNodes)[4].innerhtml) -as [int]  ;
   if (($ws -ne $null) -and ($WS -ge 5mb)) {
       $oRow.bgColor=”#AAAAAA” ;
   }
}

#Prepare a title.
$oTitle=$oIE.document.createElement(“P”)
$oTitle.style.font=”bold 20pt Arial”
$oTitle.innerhtml=”Process List”;
$oTitle.align=”center” ;

#Display the title before the Table object.
$oTable=@($oIE.document.getElementsByTagName(“TABLE”))[0] ;
$oDocBody.insertBefore($oTitle,$oTable) > $null;
И описание

HTML код: Выделить весь код
Displaying the “$procList” can also be accomplished with “write” methods instead of innerhtml assignment. But we should perform some extra checks to determine whether the document.body is type of [mshtml.htmldocumentclass]. If the “htmlfile” progid has the following settings in the registry: HKEY_CLASSES_ROOT\CLSID\{25336920-03F9-11CF-8FD0-00AA00686F13}\InProcServer32 Class : mshtml.HTMLDocumentClass Assembly : Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a then, mshtml.htmldocumentclass become .NET wrapper for the document.body object. So the following line : $oDocBody.innerhtml=$procList Can be replaced with: If ($oIE.document.psbase.tostring() –eq “system.__comobject”) { $oIE.document.write([string]$proclist) } else { $oIE.document.IHTMLDOcument2_write([string]$proclist) } $oDocBody=$oIE.document.documentelement.lastchild ;

но применить это мозгов не хватает. Прошу помощи)

Последний раз редактировалось jack_nuclear, 25-06-2020 в 16:08.


Отправлено: 15:06, 25-06-2020 | #12


Ветеран


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

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


jack_nuclear, А зачем под PowerShell что-то там мудрить? Закачивайте страницу целиком и работайте с полученным...

Invoke-WebRequest и New-Object System.Net.Webclient в помощь.

Отправлено: 15:56, 25-06-2020 | #13


Новый участник


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

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


Foreigner, оба не подошли к сайту. Проверка браузера на нем. Подмена User-Agent не спасла

Отправлено: 22:50, 25-06-2020 | #14



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Резервирование диска D$ целиком с помощью BackUpPC Stone7 Программное обеспечение Linux и FreeBSD 2 09-12-2019 21:05
Как скачать с сайта папки целиком de_sad_m Вебмастеру 12 19-03-2019 21:38
2013 - [решено] не отображается целиком документ Cr00t Microsoft Office (Word, Excel, Outlook и т.д.) 5 18-04-2014 12:02
Разное - Как в блокноте выделить ссылку целиком Daksin Microsoft Windows 7 20 25-02-2012 12:24
как скачать целиком сайт? Turman Хочу все знать 10 11-10-2007 09:08




 
Переход