Cómo extraer enlaces de páginas web usando HttpWebRequest y expresiones regulares
Utilice HttpWebRequest para obtener el código fuente de páginas web
Dim url As String=" "
Dim Recurso para establecer una conexión persistente.
Atenuar lector como StreamReader = _
Nuevo StreamReader(httpResp.GetResponseStream, System.Text.Encoding.GetEncoding("GB2312"))
Atenuar respHTML como cadena = lector. Leer hasta el final (" "). ReadToEnd() (respHTML es el código fuente de la página web
Utilice expresiones regulares para obtener la dirección del enlace
Dim strRegex As String = "//([\\w-] \... ) [\\w-] (/[\\w- . /? amp;=]*)?"\Esta es una expresión
Dim r As System.Text.RegularExpressions. Regex
Atenuar m como System.Text.RegularExpressions.MatchCollection
r = Nuevo System.Text.RegularExpressions.Regex(strRegex, System.Text.RegularExpressions.RegexOptions.IgnoreCase) p>
m = r.Matches(respHTML)
Atenuar i como entero
Para i = 0 hasta m.Count - 1
form1.DefInstance.ListBox1.Items.Add(m(i).Value)\'form1.DefInstance es el atributo ****-disfrute de form1 e instancia
Siguiente i
form1.DefInstance.ListBox1.Items.Add(m(i).Value) establece que el ListBox sea visible
form1.DefInstance.ListBox.Sorted=True (ordena los elementos del ListBox)
form1 .DefInstance.ListBox1.Items.Add(m(i).Value) ('form1.DefInstance es la propiedad compartida y la instancia de form1. Si el miembro compartido es un método o propiedad, lo hacemos No es necesario crear una instancia, solo necesita usar el método 'ClassName .***HelpMember\' para llamar.
El método de configuración es el siguiente:
Privado Compartido m_vb6FormDefInstance Como formulario1
Propiedad Pública Compartida DefInstance() Como formulario1
Obtener
Si m_ vb6FormDefInstance no es nada o más m_vb6FormDefInstance.IsDisposed Entonces (determina si la instancia del formulario existe)
m_vb6FormDefInstance = Nuevo formulario1
Finalizar si
DefInstance = m_vb6FormDefInstance
End Get
Set(ByVal Value As form1)
m_vb6FormDefInstance = Nueva propiedad form1End
Eliminar direcciones duplicadas
Dim countForms As Integer El siguiente código eliminará direcciones duplicadas
Dim lstForms() As String
Dim CurId As Integer
Con formBrow.DefInstance.ListBox1
ReDim Preserve lstForms(0)
lstForms(0) = .Items(0) \'El primer elemento de la nueva matriz es el mismo que el primer elemento de la lista'
Para countForms = 1 Para .Items.Count - 1 \'items.count obtiene el número de elementos en la lista 1
CurId = UBound(lstForms) \'curid es el número de elementos en la nueva lista
Si .Items(countForms) lt;gt.lstForms(CurId) Entonces (si el segundo elemento de la tabla anterior no es igual al elemento más grande de la nueva tabla)
ReDim Preserve lstForms(CurId 1) (ubicación del segundo elemento de la nueva tabla)
lstForms(CurId 1) = .Items(countForms) (El segundo elemento de la nueva tabla es igual al segundo elemento de la tabla anterior
End If
Next countForms
.Ite ms.Clear() (Eliminar todos los elementos de la tabla anterior
Para countForms = 0 A UBound(lstForms) (Escriba la nueva tabla en la tabla anterior
.Items.Add(lstForms)Items.Add(lstForms(countForms))
Siguiente countForms
Finalizar con
Exportar direcciones a XML
Lenguaje de marcado extensible (XML) es un lenguaje de marcado que proporciona un formato para describir datos. El uso de este lenguaje facilita la realización de afirmaciones de contenido más precisas y la obtención de resultados de búsqueda más significativos en múltiples plataformas. Además, XML puede lograr la separación de representación y datos.
Por ejemplo, en HTML, las etiquetas se utilizan para indicarle al navegador que muestre datos en negrita o cursiva; en XML, las etiquetas se utilizan simplemente para describir datos, como nombres de ciudades, temperaturas y presión atmosférica. En XML, las hojas de estilo como el lenguaje de hojas de estilo extensible (XSL) y las hojas de estilo en cascada (CSS) se utilizan para mostrar datos en el navegador. XML separa los datos de la presentación y el procesamiento y, al aplicar diferentes hojas de estilo y aplicaciones, puede mostrar y procesar los datos según sea necesario.
XmlTextWriter es una implementación de la clase XmlWriter, que proporciona una API para escribir XML en archivos, secuencias o TextWriters. XmlTextWriter tiene diferentes constructores, cada uno de los cuales especifica un tipo de ubicación diferente donde se escriben los datos XML. El siguiente código utiliza el constructor para escribir XML en un archivo.
Primero utilice el atributo de formato para especificar el formato de los datos XML que se escriben. Al establecer esta propiedad en Sangrado, el escritor utilizará las propiedades Indentation e IndentChar para sangrar los elementos secundarios.
El código muestra cómo escribir XML correspondiente a cada tipo de nodo XML. Por ejemplo, escribir un elemento llama al método WriteElementString y escribir un atributo llama al método WriteAttributeString. Para capas anidadas, puede usar el par WriteStartElement/WriteEndElement; para crear atributos más complejos, puede usar el par WriteStartAttribute/WriteEndAttribute.
Observe cómo el código utiliza el método WriteStartDocument para escribir la declaración XML con el número de versión "1.0". Si desea que el escritor verifique que el documento esté bien formado (primero una declaración XML, un DOCTYPE en el prólogo, solo un elemento de nivel raíz, etc.), debe llamar a este método opcional WriteStartDocument antes de llamar a cualquier otro método del escritor. . A continuación, este código llama al método WriteDocType para escribir en el tipo de documento denominado "urls". El tercer parámetro en la llamada WriteDocType especifica que el escritor escribirá en el SISTEMA "urls.dtd urls.dtd".
Finalmente, el código llama al método Flush para guardar los datos XML en el archivo y luego llama al método Close. (Si bien es cierto que en este ejemplo solo se necesita el método Close, hay situaciones en las que es necesario guardar el XML generado y reutilizar el escritor).
Para verificar la salida de XmlTextWriter, realice una prueba de ida y vuelta para verificar que el XML esté bien formado leyendo el archivo generado con un XmlTextReader.
Private Sub saveXml()
Atenuar saveFileDialog1 como nuevo SaveFileDialog
saveFileDialog1.Filter = "xml|*.xml"
saveFileDialog1 .Title = "Guardar un archivo xml"
saveFileDialog1.ShowDialog()
Si saveFileDialog1.FileName lt;gt "" Entonces\'Si FileName no es igual a un < en blanco; /p>
Dim fileName As String = saveFileDialog1.FileName