¡todos! Estoy tratando de hacer un procesamiento de datos en una base de datos de acceso público (registros de impuestos a la propiedad, lo sé, ¡no muy glamorosos!). El código funciona perfectamente, pero no devuelve la página correcta. Cuando ingreso la información en los formularios manualmente y hago clic en "enviar", obtengo una hermosa página llena de datos relevantes. Pero cuando envío el formulario a través de python mechanize, no obtengo la misma página. Por ejemplo:
brwsr = mechanize.Browser() brwsr.open("https://sdat.dat.maryland.gov/RealProperty/Pages/default.aspx") brwsr.select_form(nr = 0) # <option selected="selected" value="02">ANNE ARUNDEL COUNTY</option> brwsr.form["ctl00$cphMainContentArea$ucSearchType$wzrdRealPropertySearch$ucSearchType$ddlCounty"] = ['02'] # STREET ADDRESS # <option selected="selected" value="01">STREET ADDRESS</option> brwsr.form["ctl00$cphMainContentArea$ucSearchType$wzrdRealPropertySearch$ucSearchType$ddlSearchType"] = ['01'] brwsr.submit() # this works wonderfully! # this is now the second page brwsr.select_form(nr = 0) # street number brwsr.form["ctl00$cphMainContentArea$ucSearchType$wzrdRealPropertySearch$ucEnterData$txtStreenNumber"] = '523' # just an example # street name brwsr.form["ctl00$cphMainContentArea$ucSearchType$wzrdRealPropertySearch$ucEnterData$txtStreetName"] = 'SIXTH' # just an example response = brwsr.submit() print(response.read())Esto no devuelve ningún error, pero algunos de los html devueltos son los siguientes:
<img src="/RealProperty/egov/img/ajax-loader.gif" id="imgLoader" alt="Loading... Please Wait." title="Loading... Please Wait." />\r\nHmmmmmmm... ¿"Cargando"? "Espere por favor"? La segunda página parece generarse dinámicamente, es decir, tal vez esté ejecutando scripts que no han terminado cuando llega la respuesta. He estado leyendo y hurgando, y la gente parece decir que mecanizar es la herramienta equivocada para este tipo de trabajo. Pero, ¿cuál es la herramienta adecuada? Siento que debería ser sencillo analizar los datos en esa segunda página... ¡si pudiera tenerlo en mis manos!
¡Gracias por tu tiempo!
mejor, susana