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

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

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

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


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

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


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

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

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

 

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

fascinating rhythm


Moderator


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

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


http://winitpro.ru/index.php/2014/10...-v-powershell/

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

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

Отправлено: 16:11, 14-12-2019 | #2



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

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


Ветеран


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

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


jack_nuclear, так зачем Вам тогда «скачивание всего целиком», если Вы парсить будете только сам html? И — давайте конкретику, Url.

Отправлено: 16:13, 14-12-2019 | #3


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


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

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


DJ Mogarych, принято. ковыряю доки. отпишу, если получится и закрою тему

Iska, а потому, что только в этом случае сайт отдает нужный мне класс
Пример: https://wgmods.net/22/
Класс: ModDetails_hidden--2Rtru

Отправлено: 16:24, 14-12-2019 | #4


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


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

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


DJ Mogarych, никак повершелл не смог... все равно нужна помощь

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


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

fascinating rhythm


Moderator


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

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


https://stackoverflow.com/questions/...me-in-a-script

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


Отправлено: 15:02, 15-12-2019 | #6


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


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

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


DJ Mogarych, там сайт отдает инфоЮ а в моем случае НЕТ. иначе я бы просто wget использовал и не задавал вопросов

Отправлено: 15:39, 15-12-2019 | #7


Ветеран


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

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


jack_nuclear, итак, по порядку.

Во-первых, это ни разу не «отдаётся страница для роботов». Это обычное содержимое, который получает любой клиент в ответ на свой http-запрос. Это надо Вам чётко и точно понимать.

Во-вторых, после того, как данное содержимое получено, для клиентов, наподобие wget.exe, curl.exe, менеджеров загрузки и т.п. всё закончено. По мета-тэгам (или строя свои собственные предположения при отсутствии оных) они определяют, что именно им, собственно, было передано, сохраняют (возможно, перекодировав) это содержимое в файл потребного формата и заканчивают на этом свою работу. Они не занимаются ни парсингом содержимого, ни его размещением в окне — рендеринг (если это содержимое — html), ни исполнением скриптов.

Другое дело — браузеры. Получив содержимое, они начинают его парсить, выявляя все внешние вставки (например, ссылки на таблицы стилей, ссылки на изображения, ссылки на скрипты и т.п.) и загружая их. После чего начинают размещение содержимого в своём окне. Затем, когда доходит дело, начинается исполнение скриптов, которое может вмешиваться непосредственно и в само содержимое html-страницы, подчас радикально меняя его. В том числе, появляющиеся в содержимом новые скрипты могут перезапускать весь процесс заново.

В Вашем примере именно это и происходит — ссылка с классом ModDetails_hidden--2Rtru не содержится непосредственно в полученном html-коде страницы, а генерируется скриптом на клиенте, исполняющемся в браузере.

Посему, можно сделать, например, так:
Скрытый текст
Код: Выделить весь код
Set-Variable -Name 'READYSTATE_COMPLETE' -Option 'Constant' -Value 4

$oIE = New-Object -ComObject 'InternetExplorer.Application'

$oIE.Navigate("https://wgmods.net/22/")

for($i = 0; $i -le 5; $i++) { 
    do {
        Start-Sleep -Milliseconds 100
    } until((-not $oIE.Busy) -and ($oIE.ReadyState -eq $READYSTATE_COMPLETE))
}

$oDocument = $oIE.Document
$oHtmlElement = $oDocument.GetElementsByClassName("ModDetails_hidden--2Rtru")[0]

Write-Host "HRef:     $($oHtmlElement.href)"

$oIE.Quit()


Предугадать заранее, сколько приседаний «Ку»:
Скрытый текст
Код: Выделить весь код
for($i = 0; $i -le 5; $i++) { 
    do {
        Start-Sleep -Milliseconds 100
    } until((-not $oIE.Busy) -and ($oIE.ReadyState -eq $READYSTATE_COMPLETE))
}

понадобится сделать, пока в теле страницы не появится потребный элемент, в общем и целом — невозможно.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:38, 15-12-2019 | #8


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


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

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


Iska, просто монстр! дай бог здоровья. отписал в лс пару уточняющих вопросов

Отправлено: 18:22, 15-12-2019 | #9


Ветеран


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

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


jack_nuclear, личка у меня «забита» доверху, пишите на почту или непосредственно сюда.

Отправлено: 18:35, 15-12-2019 | #10



Компьютерный форум 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




 
Переход