example04.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. """
  2. example04.py - 同步请求的例子
  3. """
  4. import json
  5. import os
  6. import requests
  7. import tornado.gen
  8. import tornado.ioloop
  9. import tornado.web
  10. import tornado.websocket
  11. import tornado.httpclient
  12. from tornado.options import define, options, parse_command_line
  13. define('port', default=8888, type=int)
  14. # 请求天行数据提供的API数据接口
  15. REQ_URL = 'http://api.tianapi.com/guonei/'
  16. # 在天行数据网站注册后可以获得API_KEY
  17. API_KEY = 'your_personal_api_key'
  18. class MainHandler(tornado.web.RequestHandler):
  19. """自定义请求处理器"""
  20. def get(self):
  21. resp = requests.get(f'{REQ_URL}?key={API_KEY}')
  22. newslist = json.loads(resp.text)['newslist']
  23. self.render('news.html', newslist=newslist)
  24. def main():
  25. """主函数"""
  26. parse_command_line()
  27. app = tornado.web.Application(
  28. handlers=[(r'/', MainHandler), ],
  29. template_path=os.path.join(os.path.dirname(__file__), 'templates'),
  30. )
  31. app.listen(options.port)
  32. tornado.ioloop.IOLoop.current().start()
  33. if __name__ == '__main__':
  34. main()