|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Скачиваине странички целиком |
|
|
Любой язык - [решено] Скачиваине странички целиком
|
Новый участник Сообщения: 25 |
Доброго времени суток, форумчане. Нужно скачать страницу сайта т.е. повторить действия браузера по скачиванию страницы целиком. "Только HTML" - сайт отдает страницу для роботов
![]() Что будет сделано дальше уже посредством батника, после скачивания страницы: Открытие html, поиск класса, копирование с него зачения href в переменную, wget`ом скачать переменную |
|
Отправлено: 15:12, 14-12-2019 |
fascinating rhythm Сообщения: 6690
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 16:11, 14-12-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать jack_nuclear, так зачем Вам тогда «скачивание всего целиком», если Вы парсить будете только сам html? И — давайте конкретику, Url.
|
Отправлено: 16:13, 14-12-2019 | #3 |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать DJ Mogarych, принято. ковыряю доки. отпишу, если получится и закрою тему
![]() Iska, а потому, что только в этом случае сайт отдает нужный мне класс ![]() Пример: https://wgmods.net/22/ Класс: ModDetails_hidden--2Rtru |
Отправлено: 16:24, 14-12-2019 | #4 |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать DJ Mogarych, никак повершелл не смог... все равно нужна помощь
![]() |
|
Отправлено: 14:43, 15-12-2019 | #5 |
fascinating rhythm Сообщения: 6690
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 15:02, 15-12-2019 | #6 |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать DJ Mogarych, там сайт отдает инфоЮ а в моем случае НЕТ. иначе я бы просто wget использовал и не задавал вопросов
![]() |
Отправлено: 15:39, 15-12-2019 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить 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() ![]() Предугадать заранее, сколько приседаний «Ку»: Скрытый текст
понадобится сделать, пока в теле страницы не появится потребный элемент, в общем и целом — невозможно. |
Отправлено: 17:38, 15-12-2019 | #8 |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать Iska, просто монстр! дай бог здоровья. отписал в лс пару уточняющих вопросов
![]() |
Отправлено: 18:22, 15-12-2019 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать jack_nuclear, личка у меня «забита» доверху, пишите на почту или непосредственно сюда.
|
Отправлено: 18:35, 15-12-2019 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Резервирование диска 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 |
|