1. 程式人生 > >大數據應用於web

大數據應用於web

templates 不同 inpu 返回 input self file class 編譯

python可以應用於web開發,但是與web後端語言不同的是python開發web的話需要自己編寫web服務器。

我從網上找了一個例子

import os   #Python的標準庫中的os模塊包含普遍的操作系統功能  
import re   #引入正則表達式對象  
import urllib   #用於對URL進行編解碼  
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler  #導入HTTP處理相關的模塊  
  
  
#自定義處理程序,用於處理HTTP請求  
class TestHTTPHandler(BaseHTTPRequestHandler):  
    #處理GET請求  
    def do_GET(self):  
        #頁面輸出模板字符串  
        templateStr = ‘‘‘‘‘   
<html>   
<head>   
<title>QR Link Generator</title>   
</head>   
<body>   
%s 
<br>   
<br>   
<form action="/qr" name=f method="GET"><input maxLength=1024 size=70   
name=s value="" title="Text to QR Encode"><input type=submit   
value="Show QR" name=qr>   
</form> 
</body>   
</html> ‘‘‘  
  
  
    # 將正則表達式編譯成Pattern對象  
    pattern = re.compile(r‘/qr\?s=([^\&]+)\&qr=Show\+QR‘)  
    # 使用Pattern匹配文本,獲得匹配結果,無法匹配時將返回None  
    match = pattern.match(self.path)  
    qrImg = ‘‘  
          
    if match:  
        # 使用Match獲得分組信息  
        qrImg = ‘<img src="http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=UTF-8&chl=‘ + match.group(1) + ‘" /><br />‘ + urllib.unquote(match.group(1))   
  
    self.protocal_version = ‘HTTP/1.1‘  #設置協議版本  
    self.send_response(200) #設置響應狀態碼  
    self.send_header("Welcome", "Contect")  #設置響應頭  
    self.end_headers()  
    self.wfile.write(templateStr % qrImg)   #輸出響應內容  
      
#啟動服務函數  
def start_server(port):  
    http_server = HTTPServer((‘‘, int(port)), TestHTTPHandler)  
    http_server.serve_forever() #設置一直監聽並接收請求  
  
os.chdir(‘static‘)  #改變工作目錄到 static 目錄  
start_server(8000)  #啟動服務,監聽8000端口 

  這個程序運行後,輸入自己的博客地址,它會自動生成博客的二維碼。我們可以直接通過二維碼鏈接到自己的博客上去。不過感覺用python寫web會比用後端語言寫web麻煩一點,我自己就不是很喜歡。

大數據應用於web