c # .net4 - paquete de agilidad regex vs html

c# html-agility-pack memory regex

Pregunta

¿Qué es más rápido? Acabo de hacer un raspador web que utiliza el paquete de agilidad HTML y consume una gran cantidad de memoria.

Al perfilarlo con un generador de perfiles de memoria, descubrí que las instancias de HTMLDocument, HTMLNode, etc. están ocupando la mayor cantidad de memoria.

Siento que tal vez sería más rápido y más eficiente usar expresiones regulares, ¿me equivoco?

Respuesta aceptada

Un reg-ex será mucho más rápido que html agilty pack.

Pero debes recordar que el HTML no siempre tiene que estar bien formado. La búsqueda de los datos correctos que desea usar solo reg-ex puede fallar. Los navegadores son muy indulgentes con los errores.

El paquete de agilidad es una gran herramienta. Proporciona muchas características para la memoria que consume.


Respuesta popular

Dependiendo de lo que hagas, realmente podría ser posible acelerar y liberar algunos mem usando regex. La pregunta es: cuán rígidas y bien formadas son las páginas de las que extrae datos. Regex se confunde mucho más fácilmente con construcciones HTML perfectamente válidas, pero inesperadas, que puede encontrar en la naturaleza.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué