我用Bottle製作了一個簡單的程序。然而,即使得到一個錯誤,UnboundLocalError:分配前引用的局部變量'request'
@route('/login')
def login_form():
return '''<form method="POST" action="/login">
What do you want to search for?<br>
<input name="search" type="text" />
<input type="submit" />
</form>'''
@route('/login', method='POST')
def PeopleSearch():
raw = request.forms.get('search')
query = urllib.urlencode ({ 'q' : 'who is '+raw })
response = urllib.urlopen ('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&' + query ).read()
json = m_json.loads (response)
results = json [ 'responseData' ] [ 'results' ]
for result in results :
url = result['url']
return (url)
的進口:
# -*- coding: cp1252 -*-
import codecs
from bottle import route, run, template, request
import Tkinter
from Tkinter import *
import turtle
import time
from xgoogle.search import GoogleSearch, SearchError
import urllib2
import urllib
import json as m_json
import sys
from urllib import FancyURLopener
import time
from BeautifulSoup import BeautifulSoup
import json as simplejson
Soup = BeautifulSoup
from nltk import sent_tokenize, word_tokenize
from collections import Counter
from math import log10
# -*- coding: utf-8 *-*
現在,這個程序應該返回URL,但事實並非如此。它也會拋出我之前提到的錯誤。當我不在網頁上運行它時,它工作得非常好。
您未顯示該代碼的相關部分。某處你正在做一些函數內部的分配,因爲'request'不是本地變量。顯示異常的*完整回溯*。 – Bakuriu
您的縮進看起來不正確。 「query = ...」行和「response = ...」行應該處於同一級別,否? –
另外''for'循環中的'return'很奇怪。 –