如何通过python获取用户为HTML页面提供的文本输入?

时间:2012-06-13 06:02:46

标签: python html beautifulsoup

如何通过python获取用户为HTML页面提供的文本输入?

e.g。

<html>
<input id="post_form_id" name="fooput" value="" />
</html>

现在,用户在文本字段中输入值abcxyz。如何使用python获取该值?我已经知道它是如何通过javascript完成的,但我想用python来完成它。

另外,我已经尝试过Beautiful Soup但它只能返回该字段的预设值。 我可以做到

soup=BeautifulSoup(open("myhtmldoc.htm")) 
print soup.find('input')['value']

但是这只会给我预设值而不是用户给出的值。

2 个答案:

答案 0 :(得分:4)

您需要编写在提交表单时调用的脚本。通常,您使用一些处理各种细节的框架。

Flask这样的轻量级框架使这项任务变得简单:

from flask import Flask, render_template

app = Flask(__name__)

app.route('/',methods=['GET','POST'])
def print_form():
    if request.method == 'POST':
        return render_template('form.html',result=request.form['fooput'])
    if request.method == 'GET':
        return render_template('form.html')

if __name__ == '__main__':
    app.run()

form.html

{% if result %}
    You entered: {{ result }}
{% endif %}
<form method="POST" action=".">
   <input id="post_form_id" name="fooput" value="" />
   <input type="submit">
</form>

答案 1 :(得分:0)