Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: error404x en 16 Junio 2015, 00:53 am



Título: [Ayuda] Extraer URL del código fuente de una web y ponerlo en un ListBox
Publicado por: error404x en 16 Junio 2015, 00:53 am
Hola amigos , soy principiante en esto , y quisiera su ayuda por favor.
Lo que quiero hacer es extraer todas las url de los capitulos de un manga buscado en esta web " submanga.com (http://submanga.com) " y que se muestren en un ListBox en el orden que estan , masomenos asi :

Citar
http://submanga.com/Gakuen_Heaven/23/244316
http://submanga.com/Gakuen_Heaven/22/243793
http://submanga.com/Gakuen_Heaven/21/243638
http://submanga.com/Gakuen_Heaven/20/243383
etc.....

Para esto cree un TEXTBOX en el cual introduzco el nombre del manga que quiero y un BUTTON que realiza la busqueda en un webbrowser asi
" http://submanga.com/nombre_del_manga/completa "

=====Hasta aqui todo bien======

El problema es en la busqueda de los url .... en el LISTBOX me botan varias url menos la de los capitulos
Por ejemplo , si busco el manga "Gakuen Heaven" me sale así en el ListBox
Citar
http://submanga.com/Gakuen_Heaven
http://submanga.com/Gakuen_Heaven/completa
http://submanga.com/Gakuen_Heaven/scanlation
etc.... y varias url similares pero menos la de los capitulos

WebBrowser1

Código
  1.    Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
  2.        Try
  3.            For Each ETIQUETA As HtmlElement In WebBrowser1.Document.All
  4.                If ETIQUETA.TagName = "A" Then
  5.                    If ETIQUETA.OuterHtml.Contains("http://submanga.com/" & TextBox4.Text & "/") Then
  6.                        Try
  7.                            Dim MIURL As String = ETIQUETA.OuterHtml
  8.                            MIURL = MIURL.Remove(0, MIURL.IndexOf("href=") + 6)
  9.                            MIURL = MIURL.Substring(0, MIURL.IndexOf(">") - 1)
  10.                            ListBox1.Items.Add(MIURL)
  11.                        Catch ex As Exception
  12.                        End Try
  13.                    End If
  14.                End If
  15.            Next
  16.        Catch ex As Exception
  17.            MsgBox(ex.Message)
  18.        End Try
  19.    End Sub

Si no fuera mucha molestia , me podrían decir que parte esta mal


Título: Re: [Ayuda] Extraer URL del código fuente de una web y ponerlo en un ListBox
Publicado por: Eleкtro en 16 Junio 2015, 01:25 am
Usa las etiquetas para insertar código, es una norma del foro.



si busco el manga "Gakuen Heaven"...

Debes modificar los espacios por guiones bajos (también deberías tratar de realizar una comparación ignorando mayusculas/minusculas), así, funciona:

Código
  1. ...
  2. If etiqueta.OuterHtml.ToLower.Contains(String.Format("http://submanga.com/{0}/", "Gakuen Heaven".ToLower.Replace(" "c, "_"c))) Then
  3. ...

Saludos!


Título: Re: [Ayuda] Extraer URL del código fuente de una web y ponerlo en un ListBox
Publicado por: error404x en 16 Junio 2015, 02:03 am
Usa las etiquetas para insertar código, es una norma del foro.



Debes modificar los espacios por guiones bajos (también deberías tratar de realizar una comparación ignorando mayusculas/minusculas), así, funciona:

Código
  1. ...
  2. If etiqueta.OuterHtml.ToLower.Contains(String.Format("http://submanga.com/{0}/", "Gakuen Heaven".ToLower.Replace(" "c, "_"c))) Then
  3. ...

Saludos!

Muchas gracias amigo Electro , me ha funcionado  :D

Disculpa y si quisiera poner el nombre del capitulo en lugar de la url ? pero que al clickear el nombre me lleve a la url del capitulo

Programe el ListBox para que al clickear el link se abra en un WebBrowser

Código
  1. Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
  2.      Navegador.WebBrowser1.Navigate(ListBox1.SelectedItem)
  3.      Navegador.Show()
  4. End Sub
  5.  

Actualmente en el ListBox se me muestra asi
Citar
Ejemplo :
http://submanga.com/Gakuen_Heaven/23/244316
http://submanga.com/Gakuen_Heaven/22/243793
http://submanga.com/Gakuen_Heaven/21/243638
http://submanga.com/Gakuen_Heaven/20/243383

Pero quiero que se me vea asi
Citar
Ejemplo :
Gakuen Heaven 23
Gakuen Heaven 22
Gakuen Heaven 21
Gakuen Heaven 20

Que deberia añadir o modificar?


Título: Re: [Ayuda] Extraer URL del código fuente de una web y ponerlo en un ListBox
Publicado por: Eleкtro en 16 Junio 2015, 02:18 am
Que deberia añadir o modificar?

El nombre + número del capítulo:
Código
  1. ETIQUETA.InnerText

El número del capítulo está en la etiqueta STRONG, bien puedes hacerlo así:
Código
  1. ETIQUETA.Children(0).InnerText

O así:
Código
  1. ETIQUETA.GetElementsByTagName("STRONG").Item(0).InnerText

Saludos!