Python: Al hacer clic en un botón con urllib o urllib2

Quiero hacer clic en un botón con python, la información del formulario se rellena automáticamente en la página web. El código HTML para enviar una solicitud al botón es:

INPUT type="submit" value="Place a Bid"> 

¿Cómo voy a hacer esto? ¿Es posible hacer clic en el botón con solo urllib o urllib2? ¿O necesitaré usar algo como mecanizar o sarga?

Utilice el formulario de destino y envíe cualquier entrada como datos de publicación como este:

 
...... ...... ......

Pitón:

 # parse the page HTML with the form to get the form target and any input names and values... (except for a submit and reset button) # You can use XML.dom.minidom or htmlparser # form_target gets parsed into "http://mysite.com/blah.php" # input1_name gets parsed into "in1" # input1_value gets parsed into "abc" form_url = form_target + "?" + input1_name + "=" + input1_value # form_url value is "http://mysite.com/blah.php?in1=abc" # Then open the new URL which is the same as clicking the submit button s = urllib2.urlopen(form_url) 

Puedes analizar el HTML con HTMLParser

Y no te olvides de urlencodificar cualquier dato de publicación con:

urllib.urlencode (consulta)

Es posible que desee echar un vistazo a IronWatin – https://github.com/rtyler/IronWatin para completar el formulario y “hacer clic” en el botón con el código.

Usando urllib.urlopen, puede enviar los valores del formulario como el parámetro de datos a la página especificada en la etiqueta del formulario. Pero esto no automatizará su navegador, por lo que primero tendría que obtener los valores de formulario de otra manera.