Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo extraer enlaces de páginas web usando HttpWebRequest y expresiones regulares

Cómo extraer enlaces de páginas web usando HttpWebRequest y expresiones regulares

Utilice HttpWebRequest y expresiones regulares para extraer enlaces de páginas web

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)

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