【问题标题】:Get data from an html form with python without cgi使用没有cgi的python从html表单中获取数据
【发布时间】:2016-05-28 04:57:33
【问题描述】:

我想从一个基本的 html 表单中获取数据

    <form method="send" action="/send">
    Name <input type="text"  name="name"/>
    <input type="submit" value="Send">
</form>

到一个python文件中。这可能吗?我不想使用 CGI。 谢谢 乔什

【问题讨论】:

    标签: python html forms


    【解决方案1】:

    您是否需要使用 CGI,取决于您的用例。

    Python 框架。像Flask,倾向于提供他们自己的开箱即用的小型网络服务器。但是,此类服务器主要用于在开发阶段进行测试。集成到成熟的 Web 浏览器通常是通过 CGI 或 FastCGI,并且可以提供高级定制和扩展到巨大的负载。

    但是,根据您的目标受众,一个好的“包含”网络服务器,如web2py 中的服务器,将为您提供帮助。出于学习目的,或者在防火墙后面的封闭网络中,这样的解决方案是完全可以的,并且你避免了技术 CGI 的东西。一旦您的应用程序完成或“包含的”网络服务器不再满足您的需求,您仍然可以将您的应用程序部署在“真正的”网络服务器后面。

    如果你真的喜欢它的强硬方式,你也可以考虑写your own web server from scratch ;)

    【讨论】:

      【解决方案2】:

      Python 在服务器端工作。浏览器在客户端工作。他们通过网络进行通信。因此,如果没有 CGI 或任何类似 CGI 的方法(FastCGI、PSGI、WSGU 等),就不可能做到这一点。 Python 的最佳方式是 WSGI。 wsgi入门http://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html流程表单示例http://eddmann.com/posts/understanding-python-wsgi-with-examples/

      【讨论】:

      • 实际上,可以实现一个简单的 HTTP 服务器,为客户端的浏览器提供 HTML。在这种情况下,绝对没有理由使用 CGI。
      • 我写过类似 CGI 的东西——意思是 FastCGI、PSGI、WSGU 或任何类似的东西。
      【解决方案3】:

      如果我正确理解您的问题,您可以使用selenium 模块。例如,如果您想从 Google 获取源代码,您的代码将是:

      from selenium import webdriver
      driver = webdriver.Chrome() # Or Firefox, or whatever browser you use
      driver.get('https://google.com')
      data = driver.page_source
      

      Google 的源代码现在存储在 data 变量中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-13
        • 2022-11-17
        • 1970-01-01
        • 1970-01-01
        • 2023-03-04
        • 2017-09-23
        • 1970-01-01
        相关资源
        最近更新 更多