Me gustaría saber si existe una forma sencilla de analizar HTML en vb.net. Sé que HTML no es un subconjunto de espectro de XML, pero sería bueno si pudiera tratarse de esa manera. ¿Hay algo por ahí que me permita analizar HTML de forma similar a XML en VB.net?Cómo se analiza un código HTML en vb.net
Respuesta
Me gusta Html Agility pack - es muy amigable para desarrolladores, gratuita y el código fuente está disponible.
Pero el desarrollador de código de autodiagnóstico es amigable. Entiendo que el término "desarrollador amigable" puede ser muy subjetivo, sin embargo, traté de varias maneras de analizar/modificar el código HTML y este es simple el mejor (para .NET y sin costo), lo que puede obtener y la ausencia de documentación no lo cambies Es una cruel realidad. – TcKs
No pude obtener el paquete HTML Agility para hacer algo útil para mí. Todo lo que obtenía era la salida HTML directa al cuadro de texto, en lugar del HTML formateado y analizado. –
@JoelR. Hiciste algo terriblemente mal. ¿Leíste algunos tutoriales sobre eso? – TcKs
¿Está bien formado? Si el HTML está bien formado, entonces se puede analizar como XML. Si es una sopa de etiquetas y hay elementos no cerrados, creo que tendrías que buscar una solución de terceros.
¿Qué pasó con el acceso al modelo de objetos del documento (dom) usando mshtml? –
Si su HTML sigue los estándares XHTML, puede hacer una gran parte del análisis y el procesamiento utilizando las clases de espacio de nombres System.XML.
Si, por el contrario, lo que está analizando es lo que los desarrolladores web llaman "sopa de etiquetas", necesitará un analizador de terceros como HTML Agility Pack.
Esto puede ser solo una solución parcial a su problema si está intentando descubrir cómo un navegador interpretará su HTML, ya que cada navegador analiza la sopa de etiquetas de forma ligeramente diferente.
'añadir ref prog demasiado: Microsoft.mshtml
', entonces en la página:
Imports mshtml
Function parseMyHtml(ByVal htmlToParse$) As String
Dim htmlDocument As IHTMLDocument2 = New HTMLDocumentClass()
htmlDocument.write(htmlToParse)
htmlDocument.close()
Dim allElements As IHTMLElementCollection = htmlDocument.body.all
Dim allInputs As IHTMLElementCollection = allElements.tags("a")
Dim element As IHTMLElement
For Each element In allInputs
element.title = element.innerText
Next
Return htmlDocument.body.innerHTML
End Function
como se encuentra here:
¿no utiliza esencialmente las mismas bibliotecas que IE utiliza para cargar su DOM? Lo he intentado antes, pero siempre se siente tan sucio ... – tooleb
No utilice paquete de agilidad, sólo tiene que utilizar la biblioteca para mshtml acceda al dom, esto es lo que utiliza y es ideal para pasar por elementos HTML.
El paquete de agility es desagradable e innecesariamente hackie si me preguntas, mshtml es el camino a seguir. Búscalo en msdn.
- 1. ¿Cómo se analiza el HTML parcial?
- 2. ¿Cómo se analiza un archivo HTML mal formateado?
- 3. F # html que analiza
- 4. ¿Cómo se analiza una tabla HTML simple con Nokogiri?
- 5. ¿Cómo se analiza estático el código C++ y Objective-C++?
- 6. ¿Cómo se analiza un nombre de archivo en bash?
- 7. ¿Cómo se analiza el tiempo relativo?
- 8. Cómo se analiza un archivo JSON utilizando JSON.net
- 9. ¿Cómo puedo usar un código no seguro en VB.Net?
- 10. ¿Cómo se analiza una URL de datos en el nodo?
- 11. ¿Cómo se analiza una cadena HTML para que las etiquetas de imagen obtengan información de SRC?
- 12. ¿Cómo se analiza el HTML real de la página con CURL?
- 13. ¿Cómo se analiza una cadena de fecha HTTP en Python?
- 14. ¿Cómo se analiza una url de una cadena en Android?
- 15. Cómo imprimir código en HTML
- 16. ¿Cómo se crea un evento cancelable en vb.net
- 17. En VB.NET, ¿puedes hacer un bloque de código arbitrario?
- 18. Código estático de VB.NET Anaylsis
- 19. Conversión de un código de carácter en char (VB.NET)
- 20. ¿Por qué no se analiza? ¿Es un método?
- 21. ¿Cómo ver "código HTML generado" en Firefox?
- 22. ¿Cómo se analiza una solicitud JSON con Despacho?
- 23. ¿Cómo ordenar un System.Collections.Generic.List en VB.Net?
- 24. ¿Cómo se analiza la fecha/hora de la cadena?
- 25. Regex - Coincidir atributo en un código HTML
- 26. cómo incrustar archivos html en código php?
- 27. ¿Cómo se analiza una URL de Zend para parámetros?
- 28. ¿Cómo se divide el código HTML entre dos líneas?
- 29. VB.NET: ¿Cómo hacer referencia al módulo VB.NET?
- 30. ¿Cómo obtengo el código HTML en un elemento usando Capybara?
Podría ayudarnos a responder si declara lo que quiere hacer con una vez que se haya analizado. – Rob
Por ahora, estoy interesado en poder seleccionar todos los enlaces, textos e imágenes en divs específicos. Donde la clase div o id cambiará/puede cambiar de página a página. – tooleb
parece que el paquete HTML Agility probablemente me funcione. ¿Hay alguna otra opción ??? – tooleb