Python urllib, urllib2 füllen Formular

Ich möchte ein HTML-Formular mit urllib2 und urllib .

 import urllib import urllib2 url = 'site.com/registration.php' values = {'password' : 'password', 'username': 'username' } data = urllib.urlencode(values) req = urllib2.Request(url, data) response = urllib2.urlopen(req) the_page = response.read() 

Aber am Ende des Formulars ist ein button(input type='submit') . Wenn Sie nicht auf die Schaltfläche klicken, können Sie die Daten nicht senden, was Sie in der input(type text)

Wie kann ich auf die Schaltfläche mit urllib und urllib2 ?

2 Solutions collect form web for “Python urllib, urllib2 füllen Formular”

Das ist wirklich etwas von etwas, was du mit Selen oder ähnlichem machen würdest. selenium.webdriver.common.action_chains.ActionChains.click , vielleicht.

Wenn du dein Formular-Aktionsattribut ansiehst, könntest du herausfinden, welches uri dein Formular einreicht. Sie können dann eine Post-Anfrage an diese uri. Dies kann wie folgt geschehen:

 import urllib import urllib2 url = 'http://www.someserver.com/cgi-bin/register.cgi' values = {'name' : 'Michael Foord', 'location' : 'Northampton', 'language' : 'Python' } data = urllib.urlencode(values) req = urllib2.Request(url, data) response = urllib2.urlopen(req) the_page = response.read() 

https://docs.python.org/2/howto/urllib2.html

Sie können auch die Anfragen Bibliothek, die es viel einfacher macht. Sie können hier darüber lesen

Eine andere Sache, die Sie benötigen, um Faktor in der CSRF (Cross Site Request Forgery) Token, die in Formen eingebettet ist. Sie müssen etwas haben, wie es zu erwerben und es mit Ihrem Post zu übergeben.

Python ist die beste Programmiersprache der Welt.