3

Bottleを使って簡単なプログラムを作りました。それでも、エラーが発生しています。

@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 を返すことになっていますが、そうではありません。また、前に述べたエラーがスローされます。Webページで実行しないと、完全にうまく機能します。

4

2 に答える 2

0

-- お詫び --bottleあなたの投稿にタグが付いているようです。requestおそらく、ボトルからモジュールをインポートしていません。以下があることを確認してください。

from bottle import request, get

スクリプトの開始時に。ボトルのこの Web ページ ( http://bottlepy.org/docs/dev/tutorial.html )が本当に気に入っています:)


ライブラリをインポートしましたurllib.requestか? 最初にこれをインポートしてみてください:

import urllib.request

ドキュメント内のこのモジュールに関する豊富な情報: http://docs.python.org/3.4/library/urllib.request.html

于 2013-07-20T04:36:09.227 に答える
0

requestモジュールのインポートが欠落しているようです。

スクリプトの先頭にこれがありますか?

from bottle import request
于 2013-07-20T04:39:27.150 に答える