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

标签 python html beautifulsoup

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

例如

<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']

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

最佳答案

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

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>

关于python - 如何通过python获取用户为HTML页面输入的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11009051/

相关文章:

html - Angular + Typescript : Add to array, ng-repeat 添加空白行

python - 使用 Beautiful Soup 提取特定列表项

python - python 中的字数统计

python - 使功能不可覆盖

python - 为什么 sklearn 的 LabelEncoder 应该只用于目标变量?

python - 为 Pandas 中的一组列设置新值

python - 使用 BeautifulSoup 无法按预期解析 XML

python - QUIT pygame 事件未定义

javascript - 如何从 Html 页面中去除特定样式?

html - Bootstrap4 隐藏显示列