Ahora he actualizado mi código como una prueba. Quiero enumerar todas las URL que tienen la palabra index.php pero también muestra otras cosas.
Aquí está mi código de trabajo:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim webClient As New System.Net.WebClient
Dim WebSource As String = webClient.DownloadString("http://www.google.com/search?lr=&cr=countryCA&newwindow=1&hl=fil&as_qdr=all&biw=1366&bih=667&tbs=ctr%3AcountryCA&q=index.php&oq=index.php&gs_l=serp.12..0l10.520034.522335.0.525032.9.9.0.0.0.0.497.3073.1j1j2j0j5.9.0....0...1c.1.25.serp..5.4.884.J4smY262XgY")
RichTextBox1.Text = WebSource
ListBox1.Items.Clear()
Dim htmlDoc As New HtmlAgilityPack.HtmlDocument()
htmlDoc.LoadHtml(WebSource)
For Each link As HtmlNode In htmlDoc.DocumentNode.SelectNodes("//cite")
If link.InnerText.Contains("index.php") Then
ListBox1.Items.Add(link.InnerText)
End If
Next
End Sub
la salida esperada solo debe ser sitios web que tengan index.php, como esto:
http://www.site1.com/index.php
http://www.site2.com/index.php
http://www.site3.com/index.php
http://www.site4.com/index.php
http://www.site5.com/index.php
Pero el problema es que solo se detiene hasta que no se incluyan otras partes del enlace index.php.
por ejemplo, la url completa es
http://www.site5.com/index.php?test_test=test&test
el programa solo muestra
http://www.site5.com/index.php
o habría roto puntos como
http://www.site5.com/index.php...test....test
Yo usaría Html Agility Pack para extraer los enlaces de la siguiente manera
Dim links As New List(Of String)()
Dim htmlDoc As New HtmlAgilityPack.HtmlDocument()
htmlDoc.LoadHtml(WebSource)
For Each link As HtmlNode In htmlDoc.DocumentNode.SelectNodes("//a[@href]")
Dim att As HtmlAttribute = link.Attributes("href")
If att.Value.Contains("/forums/") Then
links.Add(att.Value)
End If
Next
Si es el resultado de búsqueda de Google, intente algo como abajo
For Each link As HtmlNode In htmlDoc.DocumentNode.SelectNodes("//cite")
If link.InnerText.Contains("index.php") Then
links.Add(link.InnerText)
End If
Next