Что нового

получить исходный код страницы HTML из IE

NoMad73rus

Продвинутый
Сообщения
124
Репутация
80
Имеется собственный GUI вида

#include <GUIConstantsEx.au3>
Код:
$oIE = ObjCreate("Shell.Explorer.2")
GUICreate("Радио", 636, 130, -1, -1)
$GUIActiveX = GUICtrlCreateObj($oIE, -3, -73, 640, 205)
GUISetState()
$oIE.navigate("http://audio.rambler.ru/export/radio_player.html")
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd


Требуется: получить файл вида *.txt содержащий исходный код загруженной страницы
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
NoMad73rus
Этими функциями попробуйте.
Код:
#include <INet.au3>
;...
_INetGetSource()
FileWrite()
;...
 
Автор
N

NoMad73rus

Продвинутый
Сообщения
124
Репутация
80
дело в том, что такой способ возвращает не совсем тот код (код страницы без авторизации)

Разобрался ))

Код:
$oIE  = ObjCreate("Shell.Explorer.2")
GUICreate("Радио", 636, 130, -1, -1)
$GUIActiveX = GUICtrlCreateObj($oIE, -3, -73, 640, 205)
GUISetState()
$oIE.navigate("http://audio.rambler.ru/export/radio_player.html")

#include <IE.au3>
$sHTML = _IEDocReadHTML ($oIE)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd


Вот так то что нужно ))
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
NoMad73rus
Или так:
Код:
#include <IE.au3>
$sURL = "http://audio.rambler.ru/export/radio_player.html"
$oIE = _IECreate($sURL, 0, 0)
$sHTML = _IEDocReadHTML ($oIE)
$f = FileOpen(@ScriptDir & "\HTMLText.txt", 2)
FileWrite($f, $sHTML)
FileClose($f)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
NoMad73rus [?]
Такой способ возвращает не совсем тот код (код страницы без авторизации)
А разве на http://audio.rambler.ru/export/radio_player.html нужна авторизация? :-\
Garrett,
Вы забыли
Код:
;...
_IEQuit($oIE)
;...

У меня стоит Ad Muncher, поэтому при _IEDocReadHTML() файл HTMLText.txt получается у меня размером 241 кб, а при _INetGetSource() - 19,2 кб.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
madmasles сказал(а):
Garrett,
Вы забыли
Код:
;...
_IEQuit($oIE)
;...
Согласен! :smile:
У меня стоит Ad Muncher, поэтому при _IEDocReadHTML() файл HTMLText.txt получается у меня размером 241 кб, а при _INetGetSource() - 19,2 кб.
У меня тоже разнятся, но не намного 26,1 против 19,2 :smile:
 
Автор
N

NoMad73rus

Продвинутый
Сообщения
124
Репутация
80
А разве на http://audio.rambler.ru/export/radio_player.html нужна авторизация? :-\

Это просто был пример чтоб не цитировать свой код перегруженный всякими прочими вещами.
Речь идёт о игрушке ВКонтакте, а там как известно нужна авторизация.

У меня стоит Ad Muncher, поэтому при _IEDocReadHTML() файл HTMLText.txt получается у меня размером 241 кб, а при _INetGetSource() - 19,2 кб.

Подобным способом получаю html код в другом месте, и тут проблемма в том, что уж слишком много всего грузит, на медленном интернете вообще очень долго (. Подозреваю, что из за того что используется _IECreate грузится не только код, а вся страница(графика и прочее). Подскажите как этого избежать? Варианты с
Код:
inetGet()
и
Код:
$oHTTP.Responsetext
не катят опять таки по причине получения кода страницы без авторизации.
 
Верх