walle Posted November 14, 2007 Share Posted November 14, 2007 (edited) The problem is that the movie won't load. I don't know why, almost certainly it’s because of the classname, "$oIE = ObjCreate("Shell.Explorer.2")" any idea? Edit: Maybe if I adapted this script with this, no idea how <html><head><script src="res://mshtml.dll/objectembed_neutral.js"></script></head><body objectSource="http://www.youtube.com/swf/l.swf?video_id=NXZ6PVq635U&eurl=&iurl=" onload="ObjectLoad();" leftmargin=0 topmargin=0 scroll=no> <form id="objectDestination"></form> </body></html> Script expandcollapse popup#include <IE.au3> #include <Constants.au3> #include <GUIConstants.au3> #include <INet.au3> #include <String.au3> $SEARCH2 = "Yuma trailer" $SearchString = StringReplace($SEARCH2, " ", "+") $OIE = _IECREATE("http://youtube.com/results?search_query=" & $SearchString & "&search=Search", 0,0) $OLINKS = _IELINKGETCOLLECTION($OIE) ;$Clickbyname = _IELinkClickByText($SEARCH2) $COLLINKS = _IELINKGETCOLLECTION($OIE) For $oLink in $COLLINKS $sLinkText = _IEPropertyGet($oLink, "outerText") If StringInStr($sLinkText, $SEARCH2) Then ;msgbox(0,"",$oLink) _IEAction($oLink, "click") _IELOADWAIT($OIE) $SURL = _IEPropertyGet($OIE,"locationurl") ExitLoop EndIf Next _IEQuit($OIE) $SOURCE = _INETGETSOURCE($SURL) $MOVIETRAILER = _StringBetween($SOURCE,'name="video_id" value="','">\') For $I = 0 To $MOVIETRAILER [0] Next Dim $URL = "http://youtube.com/watch_fullscreen?video_id=" & $MOVIETRAILER [0] & "&rel=1" $oIE = ObjCreate("Shell.Explorer.2") GUICreate ("TEEEEEST") GUICtrlCreateObj($oIE,0,0,435,400) GUISetState() $oIE.navigate($URL) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch Sleep(10) WEnd Edited November 14, 2007 by walle Link to comment Share on other sites More sharing options...
MrCreatoR Posted November 14, 2007 Share Posted November 14, 2007 You need the value request as well, try this: expandcollapse popup#include <GUIConstants.au3> TCPStartup() Global $Socket = -1 $SEARCH2 = "Yuma trailer" $SearchString = StringReplace($SEARCH2, " ", "+") $Host = "youtube.com" $Page = "/results?search_query=" & $SearchString & "&search=Search" $SearchSource = _HTTPGetSource($Host, $Page) $Video_ID = _GetMidleString($SearchSource, '<a class="newvtitlelink" href="/watch\?v=', '" rel="') $Get_Value = Get_Value($Host, $Video_ID) _HTTPClose($Socket) $URL = "http://youtube.com/watch_fullscreen?video_id=" & $Video_ID & "&t=" & $Get_Value $oIE = ObjCreate("Shell.Explorer.2") GUICreate("TEEEEEST", @DesktopWidth, @DesktopHeight) GUICtrlCreateObj($oIE, 0, 0, @DesktopWidth, @DesktopHeight) GUISetState() $oIE.Navigate($URL) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch Sleep(10) WEnd Func Get_Value($Host, $Video_ID) $Page = "/v/" & $Video_ID $Resp = _HTTPGetRespones($Host, $Page) Local $Location_URL = StringStripWS(_GetMidleString($Resp, 'Location:', '\n'), 3) Local $URL_Value = _GetMidleString($Location_URL, '&t=', '$') If $URL_Value = '' Then $URL_Value = _GetMidleString($Location_URL, '&t=', '\?') If $URL_Value = '' Then $URL_Value = _GetMidleString($Location_URL, '&t=', '&') If $URL_Value = '' Then $URL_Value = _GetMidleString($Location_URL, '&t=', '=') Return $URL_Value EndFunc Func _HTTPGetSource($Host, $Page) Local $Recv = '', $RcvBytes = 1024 $Socket = _HTTPConnect($Host) _HTTPGet($Host, $Page, $Socket) If @error Then Return SetError(1, 0, '') While 1 $CurrentLine = TCPRecv($Socket, $RcvBytes) If @error <> 0 Then ExitLoop If $CurrentLine <> '' Then $Recv &= $CurrentLine WEnd Return $Recv EndFunc Func _HTTPConnect($Host) Local $Name_To_IP = TCPNameToIP($Host) $Socket = TCPConnect($Name_To_IP, 80) If $Socket = -1 Then TCPCloseSocket($Socket) Return SetError(1, 0, "") EndIf Return $Socket EndFunc Func _HTTPGet($Host, $Page, $Socket) Local $Command = "GET " & $Page & " HTTP/1.1" & @CRLF $Command &= "Host: " & $Host & @CRLF $Command &= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0" & @CRLF $Command &= "Connection: close" & @CRLF & @CRLF Local $BytesSent = TCPSend($Socket, $Command) If $BytesSent = 0 Then Return SetError(1, @error, 0) Return $BytesSent EndFunc Func _HTTPGetRespones($Host, $Page) $Socket = _HTTPConnect($Host) If @error Then Return SetError(1, 0, "") _HTTPHead($Host, $Page, $Socket) Local $Recv = "", $CurrentRecv While 1 $CurrentRecv = TCPRecv($Socket, 16) If @error <> 0 Then ExitLoop If $CurrentRecv <> "" Then $Recv &= $CurrentRecv WEnd If StringInStr($Recv, "HTTP/1.1 410 Gone") Then Return SetError(2, 0, "") Return $Recv EndFunc Func _HTTPHead($Host, $Page, $Socket) Local $Command = "HEAD " & $Page & " HTTP/1.1" & @CRLF $Command &= "Host: " & $Host & @CRLF $Command &= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0" & @CRLF $Command &= "Connection: close" & @CRLF & @CRLF Local $BytesSent = TCPSend($Socket, $Command) If $BytesSent = 0 Then Return SetError(2, @error, 0) Return $BytesSent EndFunc Func _HTTPClose($Socket) TCPCloseSocket($Socket) TCPShutdown() EndFunc Func _GetMidleString($sString, $sStart, $sEnd, $iCase=-1, $iRetType=0) Local $iCaseSence = '' If $iCase = -1 Then $iCaseSence = '(?i)' Local $aArray = StringRegExp($sString, '(?s)' & $iCaseSence & $sStart & '(.*?)' & $sEnd, 3) Local $IsArrayCheck = IsArray($aArray) If $IsArrayCheck And $iRetType = 1 Then Return $aArray If $IsArrayCheck And $iRetType = 2 Then Local $iUbound = UBound($aArray) If Not StringInStr($aArray[$iUbound-1], "Next") Then Return $aArray[$iUbound-1] If ($iUbound - 2) >= 0 Then Return $aArray[$iUbound-2] Return $aArray[$iUbound-1] EndIf If $IsArrayCheck Then Return $aArray[0] Return SetError(1, 0, "") EndFunc It's part of my YouTube Download Center Project (look in my signature). Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
walle Posted November 14, 2007 Author Share Posted November 14, 2007 Thank you!, Really appreciate it Btw, keep on the good work. Really liked your piece of work Link to comment Share on other sites More sharing options...
walle Posted January 28, 2008 Author Share Posted January 28, 2008 Back on stage on. Youtube was updated last week, and now the movies wont load. Any idea? Link to comment Share on other sites More sharing options...
MrCreatoR Posted January 31, 2008 Share Posted January 31, 2008 (edited) Youtube was updated last week, and now the movies won’t load.Replace this: $Video_ID = _GetMidleString($SearchSource, '<a class="newvtitlelink" href="/watch\?v=', '" rel="') With this: $Video_ID = _GetMidleString($SearchSource, '<a href="/watch\?v=', '">') It should work. P.S Hm, i guess that i will have to change that in my YT Download Center... Edited January 31, 2008 by MsCreatoR Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
walle Posted February 1, 2008 Author Share Posted February 1, 2008 Appreciate your help, as always Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now