从PHP运行Python代码

时间:2014-09-05 08:04:26

标签: php python beautifulsoup

我有一个使用

的Python文件
raw_input()

输入网址。然后,我使用BeautifulSoup刮取网站,并根据网站上的数据向用户提出一些其他问题(我刚刚抓了...)

我希望将此命令行工具转换为Web应用程序。

我该怎么做呢?

shell_exec()

不会做我想要的,因为(据我所知)无法通过PHP从raw_input()输入数据。

2 个答案:

答案 0 :(得分:0)

您正在寻找readline或stdin流:

php://stdin

$fp = fopen("php://stdin","r");
$line = rtrim(fgets($fp, 1024);

使用readline

$line = readline("Command: ");

答案 1 :(得分:-1)

我实际上创建了一个dnsTools脚本,该脚本将运行一个perl脚本,类似于你想要做的事情。我在这里使用shell_exec是我做的一个例子

$ip=shell_exec('/usr/bin/perl ./dnstools.pl -ta -h'.$_POST["domain"].' -s@vnsc-lc.sys.gtei.net');

然后我的脚本只会将IP作为字符串返回。

记住: 执行命令的输出,如果发生错误或命令不产生输出,则为NULL。 http://php.net/manual/en/function.shell-exec.php

另外,请记住,如果有用户输入,使用该命令可能会造成安全问题。

如果关闭shell_exec,您可以尝试使用curl通过Web运行命令,然后仍然处理结果。