利用Python的tornado模块,搭建一个web服务。

Chris爱学习 2020-09-14 03:08:06
Python小白,想请教在座前辈——利用Python的tornado模块,搭建一个web服务时启动页面不显示的问题。代码如下(代码部分借鉴了"下班儿去看书"在知乎上的一篇回答地址为:https://zhuanlan.zhihu.com/p/30742302 侵权联删)


# -*- coding: utf-8 -*-
import sys
import importlib
importlib.reload(sys)
from reload import *

# windows 系统下 tornado 使用 使用 SelectorEventLoop
import platform

if platform.system() == "Windows":
import asyncio
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
import pandas as pd
import tornado.ioloop
import tornado.web
#import json
import requests

lists = {u"深圳": "是经济特区,紧邻广州,接壤香港,人口约1200万",
u"青岛": "旅游城市,濒临黄海,特产啤酒,人口约920万"
}

def get_loc(city):
r = requests.get("http://api.map.baidu.com/geocoder?address=深圳市&output=json&key=37492c0ee6f924cb5e934fa08c6b1676&city=%E5%8C%97%E4%BA%AC%E5%B8%82" % city.encode('UTF-8'))
loc = r.json()
df = pd.DataFrame([loc])
str1 = df.loc[0, 'result']
str2 = pd.DataFrame([str1])
return print("深圳市的经纬度信息为:")
return print(str2.loc[0, 'location'])
class BaseHandler(tornado.web.RequestHandler):
def get_current_user(self):
return self.get_secure_cookie("user")

class MainHandler(BaseHandler):
def get(self):
global greeting
if "id" in self.request.arguments:
greeting = self.get_argument('id', 'Hello')
if greeting in lists:
self.write(greeting + ": " + str(get_loc(greeting)) + "," + str(lists[greeting]))
else:
self.write("none")

settings = dict(cookie_secret="P1/V61oETzdkLmGeJJFuYh7Eo5KXQAGaYgEQnp2XdTo=", debug=True)
application = tornado.web.Application([(r"/", MainHandler), ], **settings)

if __name__ == "__main__":
application.listen(8086)
tornado.ioloop.IOLoop.current().start()

说明:1、中间运行报错,求助度娘后解决了一些、主要问题源于原作者是基于Python2.0所作而我是在Python3.x所作故一些语法有变化。
2、原作者给予的查询城市经纬度API接口已不可用、我通过其他接口加之处理可以输出经纬度信息但在编写web_server.py不知是否调用错误。
...全文
293 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧