我想打开一个页面,然后找到一个数字并乘以另一个随机数,然后将其提交到页面那么我正在做的是将页面保存为html,然后找到2个数字乘以它然后将其发送为一篇文章,但
post = urllib.urlencode({'answer': goal, 'submit': 'Submit+Answer'})
req2 = urllib2.Request("example", None, headers)
response = urllib2.urlopen(req, post) #this causes it not to work it opens the page a second time
这使得它第二次连接,因此发送的随机数是错误的,因为它创建了一个新的随机数,那么我如何发送一个帖子请求到我已经打开的页面而不重新打开它?
答案 0 :(得分:4)
您可能希望使用类似mechanize
的内容,它可以在Python中启用有状态的Web浏览。您可以使用它来加载URL,从页面读取值,执行乘法,将该数字放在页面上的表单中,然后提交它。
这听起来像你想要做的吗? This page提供了有关如何使用mechanize
填写表单的一些信息。
答案 1 :(得分:0)
我不相信urllib支持保持连接打开,如described here。
看起来您必须使用您的帖子发送对原始计算的引用。或者在答案的同时发回数据,这样服务器就可以通过某种方式将问题与答案进行匹配。