Hola:
Necesito que mi programa descargue la primera Ip y el puerto que aparece en la siguiente Web de forma automatica y luego los mande a un textbox.
Se me habia ocurrido cargar la web en un webbrowser y extraer la IP:PUERTO, pero la verdad no se me ocurre como hacer para extraerlas.
http://hidemyass.com/proxy-list/
(http://hidemyass.com/proxy-list/)
Necesito extraer lo que esta en rojo:
(http://img843.imageshack.us/img843/9264/sinttuloufr.png)
Desde ya muchas gracias
A pues tienes varios metodos... extraerlo de entre el texto HTML... extraelo mediante un parse de HTML o bien algun ocx que haga algo similar!¡.
Hay mucho de esto por hay.
Dulces Lunas!¡.
usando las funciones del navegador parece :D
Exacto, leer el html y usar RegExp para extraer lo que quieras para mí sería la mejor opción.n
DoEvents! :P
Genial, yo estaba luchando con un MultiSplit, no sabia de la existencia de RegExp (expresioner regulares).
Estoy investigando y leyendo, por ahora no he encontrado nada que me ilumine.
¿Me recomiendas algun manual o guía sobre el tema?
¡Gracias por leer y por responder!
Claro, mirate este hilo en el que participamos raul338 y yo hace tiempo:
http://foro.elhacker.net/programacion_visual_basic/ayudita_expresion_regular-t308911.0.html
No te asustes, ya no soy tan troll... :xD
Hay muchos ejemplos y puse unos links interesantes.
Está bien este de la wikipedia por ejemplo:
http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular
Si buscas en google encontrarás infinidad de ellos, miras de unos y de otros y en esta web:
http://regexpal.com/
Puedes hacer pruebas online (aunque hay algún caso concreto que te puede confundir...).
También te dejo unos retos que hicimos algunos del foro:
http://foro.elhacker.net/ejercicios/retos_de_expresiones_regulares-t306661.0.html
Hay algunas que ponen que son auténticas obras de arte. ;)
Con eso tienes para un buen rato.
DoEvents! :P
Muchas Gracias Psyke1, ¡sos un grande!
Me sirvió especialmente este ejemplo para entender la utilización concreta del RegExp, específicamente en lo que andaba buscando:
http://foro.elhacker.net/programacion_visual_basic/ayudita_expresion_regular-t308911.0.html;msg1535937#msg1535937 (http://foro.elhacker.net/programacion_visual_basic/ayudita_expresion_regular-t308911.0.html;msg1535937#msg1535937)
Adapte del PHP esto
<td><span>IPQueQuiero</span></td>
que era el patron que se repetia con todas las Ips e hice algo parecido con los puertos.
Fue inexplicable la felicidad (aunque efímera, felicidad al fin) la que sentí cuando extrajo la primera IP, es por ese tipo de cosas que me gusta tanto programar.
Repito, gracias Psyke1 ;-)
Edito: Me gustaba mas tu Avatar anterior de P vs. Z :P
De nada...
Mira, te dejo una optimización de la función:
Option Explicit
Public Function Get_Text(ByRef sText As String) As Collection
Dim oRegExp As Object
Dim oMatch As Object
Dim oMatches As Object
If LenB(sText) Then
Set oRegExp = CreateObject("VBScript.RegExp")
Set Get_Text = New Collection
With oRegExp
.Pattern = "<td><span>([\d\.]+)<\/span><\/td>"
.Global = True
.IgnoreCase = True
End With
Set oMatches = oRegExp.Execute(sText)
For Each oMatch In oMatches
Get_Text.Add oMatch.Submatches(0)
Next oMatch
End If
End Function
Private Sub Form_Load()
Dim vItem As Variant
Const sExample As String = "<td><span>123.234.123.231</span></td>" & vbNewLine & _
"<td><span>193.134.121.233</span></td>" & vbNewLine & _
"<td><span>83.234.123.1</span></td>"
For Each vItem In Get_Text(sExample)
Debug.Print vItem
Next vItem
End Sub
Devuelve:
123.234.123.231
193.134.121.233
83.234.123.1
Esta es muy sencilla y no hago validación para no perder tiempo, pero mira los enlaces que puse para aprender.
PD: Ni siquiera me gusta PvZ, sólo lo puse por mi novia que está viciada a esa *****. :rolleyes:
DoEvents! :P