Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBScript/JScript/WSH/WMI/HTA

Войти
Регистрация
Восстановить пароль
 
 
Overwee
0 / 0 / 0
Регистрация: 08.05.2018
Сообщений: 10
#1

Скрипт на сохранение Веб-страницы в файл - VBScript/JScript/VBS

08.05.2018, 12:36. Просмотров 339. Ответов 19
Метки нет (Все метки)

Добрый день)
Есть код который должен сохранять html в файл

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim IE, fso, tf
        
    Set IE = CreateObject("InternetExplorer.Application")
    
    IE.Visible = 1
    IE.Navigate "google.com"
 
    While IE.Busy
        Wscript.Sleep 400
    Wend
    
  Set fso = CreateObject("Scripting.FileSystemObject")
    Set tf = fso.CreateTextFile("c:\google.html", True)
      tf.write(IE.Document.body.InnerHtml)
    tf.Close
Проблема в том, что с сайта(например yandex.ru) не работает(
Да. в vbs я не селен. Подскажите как правильно сохранить веб страницу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2018, 12:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос VBS Скрипт на сохранение Веб-страницы в файл (VBScript/JScript):

VBS Парсинг веб страницы средствами VBS - VBScript/JScript
Предположим, у меня есть страница какого-либо товара с мосигры (прим. - http://www.perm.mosigra.ru/Face/Show/imadjinarium/ ) , с помощью...

Сохранение веб-страницы - CMD/BAT
Помогите пожалуйста в решении задачи! Нужно создать батник который будет ждать открытия пользователем, определенной web страницы, и...

Сохранение веб страницы - Delphi
вот процедура для сохранения procedure TForm1.SaveHTMLSourceToFile(const FileName: string; WB: TWebBrowser); var PersistStream:...

Не выполняется скрипт с Веб-страницы - IIS
Добрый день. Прошу помощи в решении проблемы. Есть Веб-страничка которая запускает VBS скрипт, который в свое время выполняет некие...

Сохранение удаленной веб страницы со стилями и картинками. - PHP Сети
Здравствуйте. Нужен скрипт, который бы мог сохранять на сервере удаленную веб странчку, причем со всеми стилями и картинками. Что-то вроде...

Снимок с веб-камеры и сохранение в файл (hd) - VBA
Доброго времени суток. Есть задание: осуществить возможность сохранения снимка с веб-камеры в файл по нажатию на кнопку. Реализовал...

19
FlasherX
159 / 122 / 43
Регистрация: 06.06.2017
Сообщений: 619
08.05.2018, 16:58 #2
Overwee, а вам обязательно через IE это делать?
Или же?
0
Overwee
0 / 0 / 0
Регистрация: 08.05.2018
Сообщений: 10
10.05.2018, 11:37  [ТС] #3
Я сначала так и сделал, но сайт с авторизацией. И с ней возникла проблема.
А через IE можно сохранить?
0
FlasherX
159 / 122 / 43
Регистрация: 06.06.2017
Сообщений: 619
10.05.2018, 16:17 #4
В первом посте вообще ни слова про авторизацию.
Для авторизации что там, что там нужен соотв. сайту POST-запрос.
0
Overwee
0 / 0 / 0
Регистрация: 08.05.2018
Сообщений: 10
10.05.2018, 16:40  [ТС] #5
Да. Про авторизацию ни слова) т.к данный метод её не использует.
Мне нужно сохранять странички с нескольких сайтов где вход по логину и паролю. В браузере они сохранены, и таким способом авторизация не нужна. Через IE ни как?

Только так
Visual Basic
1
Set iHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
и авторизация? так будет проще? я просто в программировании не селен(
0
FlasherX
159 / 122 / 43
Регистрация: 06.06.2017
Сообщений: 619
10.05.2018, 17:03 #6
Я же написал, что нужен POST(бывает, можно и GET)-запрос. Разные сайты — разные формы — разные запросы. Что для IE, что для WinHttpRequest, что для MSXML2.XMLHTTP.

ЗЫ: Я тоже не халькоген.
0
Overwee
0 / 0 / 0
Регистрация: 08.05.2018
Сообщений: 10
10.05.2018, 17:10  [ТС] #7
У меня на втором компе стоит модем и я хотел, чтобы скриптом с сайта мегафона сохранялась страница с балансом.
Забываю на него деньги класть и инет вырубается)
Можешь пример запроса написать если не сложно
0
diadiavova
2839 / 1204 / 339
Регистрация: 11.04.2015
Сообщений: 2,255
Записей в блоге: 32
10.05.2018, 20:35 #8
Цитата Сообщение от Overwee Посмотреть сообщение
Мне нужно сохранять странички с нескольких сайтов где вход по логину и паролю. В браузере они сохранены, и таким способом авторизация не нужна.
Авторизация может быть не нужна при использовании ие, не тогда когда пароль и логин сохранены, а тогда, когда выполнен вход на соответствующий ресурс и не истек срок действия этого входа. В этом случае неважно вручную ты работаешь с браузером или программно, эффект будет тем же. Однако, если эта схема не работает для определенных сайтов, то там надо смотреть, что именно происходит. Наиболее типичные проблемы, возникающие в таких ситуациях это подгрузка контента аяксом, то есть страничка приходит пустой, только скрипты и всякая лабуда и уже эти скрипты формируют содержимое, попутно запрашивая нужные данные из сети. В этой ситуации в момент, когда страничка уже загрузилась и ты программно это определил, содержимого еще может и не быть. Другая распространенная проблема - ИЕ может не поддерживать некоторых фич, используемых современными сайтами и из-за этого могут возникать ошибки.

Первую проблему можно решить, подождав еще некоторое время. Но надо смотреть что приходит, а тот код, который ты привел в первом посте сохраняет не все, а только содержимое тела документа. Там в 14-ой строке вместо IE.Document.body.InnerHtml лучше использовать IE.Document.documentElement.outerHtml, тогда хоть что-то да сохранится, если тело пустое. Кроме того, ИЕ можно сделать видимым и посмотреть, что происходит.

И еще: с таких сайтов как яндекс или гугл бесполезно что-то тянуть, просто отправляя запросы, они страницу формируют скриптами, поэтому без браузера или хотя бы HTMLDocument там просто нечего делать.
0
FlasherX
159 / 122 / 43
Регистрация: 06.06.2017
Сообщений: 619
10.05.2018, 23:21 #9
Цитата Сообщение от Overwee Посмотреть сообщение
я хотел, чтобы скриптом с сайта мегафона сохранялась страница с балансом
Лучше попробуй такую вещь. Или поставь какой-нибудь виджет на телефон/планшет.
0
Overwee
0 / 0 / 0
Регистрация: 08.05.2018
Сообщений: 10
16.05.2018, 15:27  [ТС] #10
Разобрался давно) не мог написать тут.
Всем БОЛЬШОЕ спасибо за ответы(они помогли но в другом)
Эту проблему решил так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim IE, fso, tf
        
    Set IE = CreateObject("InternetExplorer.Application")
    
    IE.Visible = 0
    IE.Navigate "lk.megafon.ru"
 
    While IE.Busy
        Wscript.Sleep 400
    Wend
    
  Set fso = CreateObject("Scripting.FileSystemObject")
    Set tf = fso.CreateTextFile("c:\1\lk.html", 2, True)
      tf.write IE.Document.body.innerHtml
      tf.Close
 
      IE.Quit
 
    Set IE = Nothing
    Set fso = Nothing
    Set tf = NOthing
У меня не сохранялся HTML файл( тут:
Visual Basic
1
Set tf = fso.CreateTextFile("c:\1\lk.html", 2, True)
надо было поставить двойку)) и все заработало.
0
FlasherX
159 / 122 / 43
Регистрация: 06.06.2017
Сообщений: 619
16.05.2018, 15:38 #11
Overwee, после удаления печенек этот скрипт работать перестанет.
0
Overwee
0 / 0 / 0
Регистрация: 08.05.2018
Сообщений: 10
16.05.2018, 16:00  [ТС] #12
FlasherX, Да я знаю это. Но именно с моей задачей он справляется даже если чистить куки все выводит.
0
FlasherX
159 / 122 / 43
Регистрация: 06.06.2017
Сообщений: 619
16.05.2018, 16:10 #13
Overwee, а чистить-то пытались? Вы логику включите. Как без авторизации можно получить данные вашего профиля? Никак.
0
Overwee
0 / 0 / 0
Регистрация: 08.05.2018
Сообщений: 10
16.05.2018, 16:24  [ТС] #14
FlasherX, логин и пароль сохранен в IE. просто sleep ставишь на 5 секунд примерно, чтобы страница успела загрузиться и все норм отрабатывает.
Да я все проверял)
0
FlasherX
159 / 122 / 43
Регистрация: 06.06.2017
Сообщений: 619
16.05.2018, 16:38 #15
Overwee, там надсройка с автологином что ли какая-то стоит? Иначе бесполезняк.

Цитата Сообщение от Overwee Посмотреть сообщение
просто sleep ставишь на 5 секунд примерно
А зачем? В 8-10 строках стоит проверка на Busy. Хотя правильно это так делается:
Visual Basic
1
While IE.ReadyState <> 4 Or IE.Busy : WSH.Sleep 50 : Wend
0
16.05.2018, 16:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2018, 16:38
Привет! Вот еще темы с ответами:

Сохранение сгенерированной страницы в файл - PHP
Приветствую! У меня есть страница с кучей форм, которая отправляет данные из форм php-скрипту. Он на основе этих данных генерирует...

Сохранить таблицу с веб-страницы в файл - PHP
есть веб-страница, на которой находитса таблица, каким способом я могу сохранить табл. в файл. при том што страниц много, надо сделать...

Webbrowser: сохранение web страницы в файл - Visual Basic .NET
Всем привет, как сохранить в web.browser веб-страницу полностью в файл на диск С? Добавлено через 2 часа 20 минут Или как подключить...

Как вызвать бат-файл из веб-страницы? - JavaScript
Чтобы он не загружался и не открывался как текстовый, а исполнялся по щелчку мыши?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru