Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: grester43hck en 11 Febrero 2011, 19:21 PM

Título: Nombre del video de youtube
Publicado por: grester43hck en 11 Febrero 2011, 19:21 PM
Buenas :) Necesito saber como puedo sacar el nombre de un video de youtube a partir de la url... e visto un programa que hay por ahi, creo recordar que es de seba123neo... pero me resulta imposible de añalizar...

Un saludop ;)
Título: Re: Nombre del video de youtube
Publicado por: CAR3S? en 11 Febrero 2011, 22:45 PM
emm, como se llamaba esta cosa....

busca informacion sobre webbrowser, creo que se puede hacer.
yo hace poco hice un bot con el webbrowser
Título: Re: Nombre del video de youtube
Publicado por: DarkMatrix en 12 Febrero 2011, 00:12 AM
Umm una de las formas es obteniendo el codigo fuente de la pag y luego ubicar el nombre del video:

Funcion para obtener el codigo fuente de la web by Mr. Frog ©

Código (vb) [Seleccionar]
Option Explicit

Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer

Private Const IF_NO_CACHE_WRITE As Long = &H4000000

Public Function Get_Html_Code(ByRef sURL As String) As String

    Dim sBuffer   As String * 1000
    Dim lInternet As Long
    Dim lFile     As Long
    Dim lRead     As Long

    lInternet = InternetOpen(0, 1, vbNullString, vbNullString, 0)

    If lInternet Then
        lFile = InternetOpenUrl(lInternet, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
        If lFile Then
            Do
                Call InternetReadFile(lFile, sBuffer, 1000, lRead): DoEvents
                Get_Html_Code = Get_Html_Code & Left$(sBuffer, lRead)
            Loop While lRead
        End If
        Call InternetCloseHandle(lInternet)
    End If

End Function

Private Sub Form_Load()

   Dim TempString As String

   TempString = Get_Html_Code("http://www.youtube.com/watch?v=feFLXc2m_vA&feature=topvideos")

   MsgBox GetVideoName(TempString)
   
End Sub

Function GetVideoName(RespText As String) As String

   Dim pos1, pos2 As Integer
   Dim tmp1, tmp2, tmp3 As String

   If InStr(1, RespText, "content") Then

       pos1 = InStr(1, RespText, "content=")
       pos2 = InStr(pos1, RespText, ">")
       tmp1 = Mid(RespText, pos1, pos2 - pos1 - 1)
       tmp2 = Replace(tmp1, "content=", "")
       tmp3 = Replace(tmp2, Chr(&H22), "")

   End If

   GetVideoName = Trim(tmp3)

End Function
Título: Re: Nombre del video de youtube
Publicado por: seba123neo en 12 Febrero 2011, 00:44 AM
yo no lo haria analizando el codigo fuente, te cambian el diseño de la pagina y no anda mas, para eso esta la api de youtube que te da lo que quieras.

lee la api de youtube ahi esta como se hace.

saludos.
Título: Re: Nombre del video de youtube
Publicado por: grester43hck en 12 Febrero 2011, 11:51 AM
Ok, muchas gracias, ya lo he hecho ^^.
Título: Re: Nombre del video de youtube
Publicado por: CAR3S? en 12 Febrero 2011, 13:48 PM
Add:

Algo muy tonto, pero aca podria ser asi ^^

TempString = Get_Html_Code(url.text)

XD