Recientemente he aprendido que usar una expresión regular para analizar el HTML de un sitio web para obtener los datos que necesita no es el mejor curso de acción.
Entonces mi pregunta es simple: ¿Cuál es, entonces, la mejor / más eficiente y una forma generalmente estable de obtener estos datos?
Debo señalar que:
- No hay API's
- No hay otra fuente de donde pueda obtener los datos (sin bases de datos, feeds y demás)
- No hay acceso a los archivos de origen. (Datos de sitios web públicos)
- Digamos que los datos son texto normal, que se muestra en una tabla en una página html.
Actualmente estoy usando Python para mi proyecto, pero una solución / consejos independientes del lenguaje sería bueno.
Como una pregunta secundaria: ¿cómo lo harías cuando la página web esté construida por llamadas Ajax?
EDITAR:
En el caso del análisis HTML, sé que no hay una forma estable real de obtener los datos. Tan pronto como la página cambie, su analizador habrá terminado. Lo que quiero decir con estable en este caso es: una forma eficiente de analizar la página, que siempre me da los mismos resultados (obviamente para el mismo conjunto de datos) siempre que la página no cambie.