如何最有效地将网页数据输入到Python脚本中

3 投票
3 回答
17192 浏览
提问于 2025-04-17 06:21

我该如何最简单地从网页输入数据,并把它传给一个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);
?>

撰写回答