Beautiful soup sigue siendo probablemente su mejor apuesta.
Si necesita "compatibilidad con JavaScript" con el fin de interceptar solicitudes Ajax, entonces debe usar algún tipo de captura también (como YATT) para monitorear cuáles son esas solicitudes y luego emularlas/analizarlas.
Si necesita "soporte de JavaScript" para poder ver cuál es el resultado final de una página con JavaScript estático, entonces mi primera opción sería intentar averiguar qué está haciendo JavaScript en un caso- caso por caso (por ejemplo, si el JavaScript está haciendo algo basado en algún Xml, entonces simplemente analice el Xml directamente)
Si realmente quiere "soporte de JavaScript" (como quiere ver lo que el html es después de los scripts) se han ejecutado en una página), entonces creo que probablemente necesites crear una instancia de algún control del navegador, y luego leer el html/dom resultante desde el control del navegador una vez que termine de cargarlo y analizarlo normalmente con una hermosa sopa. Ese sería mi último recurso sin embargo.
Un montón de respuestas útiles sobre cuestiones similares aquí: http://stackoverflow.com/search?q=scraping+python – 3zzy
Duplicado exacto: http://stackoverflow.com/questions/2081586/web-scraping-with-python –
no es un duplicado exacto. Este menciona JavaScript, que requiere diferentes herramientas que cuando se trabaja con HTML estático. – hoju