如何最有效地将网页数据输入到Python脚本中
我该如何最简单地从网页输入数据,并把它传给一个Python脚本呢?
我在这里和其他论坛上读了很多关于Python与php、cgi,甚至是Tornado、Django等的内容,但我还是搞不清楚对我来说最好的解决方案是什么。
我有一个Python脚本,它可以从网上抓取数据,生成.html页面等等——运行时只需要一个
userIn=str(raw_input())
这个脚本会根据终端输入的数据来收集信息。我现在只想让这个输入来自某种形式的
<html>
<body>
<form action="test.php" method="get">
Name <input type="text" name="name" />
<input type="submit" />
</form>
</body>
</html>
在文件test.php中,我尝试过用各种方式传递这个值(比如proc_open、exec等),但我似乎无法建立Python和这个表单之间的连接。此外,我也不确定如何将Python的输出(一些调试错误等)传回网页界面是最好的办法?!
非常感谢!
3 个回答
0
可以使用php的passthru()函数来实现这个功能。
1
如果你想从表单中获取一个值,可以把 action="test.php"
改成 action="/你放置网页应用的地方"
。
应用的代码可能是:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/')
def handle_input():
userIn = request.args.get('name', 'default name goes here')
# grab data from the web, prepare data for html template, etc
return render_template('user.html', user=userIn, data=data)
想了解如何部署它,可以查看 Flask 快速入门,比如 使用 Apache 和 mod_wsgi。
3
我现在用exec()这个命令搞定了。
<html>
<body>
<form action="test.php" method="get">
<input type="text" name="name" />
<input type="submit" />
</form>
</body>
</html>
test.php:
<?php
exec("python mypythonscript.py ".$name, $output);
?>