我的代码在本地运行正常,但我使用的是我的虚拟主机500错误。问题似乎来自
行js = json.load(data)
在搜索方法中。在我所缺少的樱桃配置中有什么东西吗?有什么想法吗?
#!/usr/local/bin/python3.2
import cherrypy
import json
import numpy as np
from urllib.request import urlopen
class Root(object):
@cherrypy.expose
def index(self):
a_query = Query()
text = a_query.search()
return '''<html>
Welcome to Spoti.py! %s
</html>''' %text
class Query():
def __init__(self):
self.qstring = '''if i can't'''
def space_to_plus(self):
self.qstring = self.qstring.replace(' ', '+')
def search(self):
self.space_to_plus()
url = 'http://ws.spotify.com/search/1/track.json?q=' + self.qstring
data = urlopen(url)
js = json.load(data)
return self.qstring
cherrypy.config.update({
'environment': 'production',
'log.screen': False,
'server.socket_host': '127.0.0.1',
'server.socket_port': 15083,
})
cherrypy.config.update({'tools.sessions.on': True})
cherrypy.quickstart(Root())
答案 0 :(得分:2)
似乎json.loads()在给出字节时期望一个unicode对象。试试这个:
data = urlopen(url).read()
js = json.loads(data.decode('utf-8'))