我想用 urllib2
和 urllib
填写 HTML 表单。
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()
但是在表单的末尾是一个按钮(input type='submit')
。如果您不单击该按钮,则无法发送您在 input(type text)
中写入的数据
如何使用 urllib
和 urllib2
点击按钮?
如果您查看您的表单操作属性,您可以找出您的表单提交到的 uri。然后您可以向该 uri 发出 post 请求。这可以像这样完成:
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
您也可以使用 requests 库,这样会容易很多。你可以阅读它here
您可能需要考虑的另一件事是嵌入在表单中的 CSRF(跨站请求伪造) token 。您将需要了解如何获取它并将其与您的帖子一起传递。
我是一名优秀的程序员,十分优秀!