Foro de elhacker.net

Programación => 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
  1. Option Explicit
  2.  
  3. 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
  4. 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
  5. Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
  6. Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
  7.  
  8. Private Const IF_NO_CACHE_WRITE As Long = &H4000000
  9.  
  10. Public Function Get_Html_Code(ByRef sURL As String) As String
  11.  
  12.    Dim sBuffer   As String * 1000
  13.    Dim lInternet As Long
  14.    Dim lFile     As Long
  15.    Dim lRead     As Long
  16.  
  17.    lInternet = InternetOpen(0, 1, vbNullString, vbNullString, 0)
  18.  
  19.    If lInternet Then
  20.        lFile = InternetOpenUrl(lInternet, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
  21.        If lFile Then
  22.            Do
  23.                Call InternetReadFile(lFile, sBuffer, 1000, lRead): DoEvents
  24.                Get_Html_Code = Get_Html_Code & Left$(sBuffer, lRead)
  25.            Loop While lRead
  26.        End If
  27.        Call InternetCloseHandle(lInternet)
  28.    End If
  29.  
  30. End Function
  31.  
  32. Private Sub Form_Load()
  33.  
  34.    Dim TempString As String
  35.  
  36.    TempString = Get_Html_Code("http://www.youtube.com/watch?v=feFLXc2m_vA&feature=topvideos")
  37.  
  38.    MsgBox GetVideoName(TempString)
  39.  
  40. End Sub
  41.  
  42. Function GetVideoName(RespText As String) As String
  43.  
  44.    Dim pos1, pos2 As Integer
  45.    Dim tmp1, tmp2, tmp3 As String
  46.  
  47.    If InStr(1, RespText, "content") Then
  48.  
  49.        pos1 = InStr(1, RespText, "content=")
  50.        pos2 = InStr(pos1, RespText, ">")
  51.        tmp1 = Mid(RespText, pos1, pos2 - pos1 - 1)
  52.        tmp2 = Replace(tmp1, "content=", "")
  53.        tmp3 = Replace(tmp2, Chr(&H22), "")
  54.  
  55.    End If
  56.  
  57.    GetVideoName = Trim(tmp3)
  58.  
  59. End Function
  60.  


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