├── Flask制作股票查询网页 ├── app.py ├── main.css ├── main.html ├── readme.txt ├── utils.py └── 项目文件.png ├── README.md ├── selenium爬取上市公司全部行业及分行业股票行情数据 └── 爬取脚本.py └── 财报下载及分析 ├── 行情数据及财报爬取 └── 资产负债表重构(同时读取3张表) /Flask制作股票查询网页/app.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | from flask import request 3 | from flask import render_template 4 | from flask import jsonify 5 | # import pymysql 6 | import uitls 7 | import sys 8 | from jieba.analyse import extract_tags 9 | import string 10 | 11 | # sys.setrecursionlimit(100000) 12 | stock_id = '600009' 13 | 14 | app = Flask(__name__) 15 | 16 | 17 | @app.route("/be") 18 | def get_data(): 19 | data = uitls.get_be_data(str(stock_id)) 20 | return jsonify({"股票名称": data[1],"当前价格": data[3],"成交量": data[6],"涨跌幅": data[32],"流通市值": data[44]}) 21 | 22 | 23 | @app.route("/his", methods=["get", "post"]) 24 | def get_history_data(): 25 | msg = uitls.get_history_data(str(stock_id)) 26 | print(msg) 27 | print(type(msg)) 28 | return jsonify({"日期":msg['日期'],"开盘价":msg['开盘价'],"收盘价":msg['收盘价'],"最低价":msg['最低价'],"最高价":msg['最高价']}) 29 | # jsonify({"日期": msg['日期'][0],"开盘价":msg['开盘价'][0]}) 30 | 31 | 32 | @app.route("/gp", methods=["get", "post"]) 33 | def get_guping(): 34 | data = uitls.get_guping(stock_id) 35 | d = [] 36 | for i in data: 37 | k = i.rstrip(string.digits) 38 | v = i[len(k):] 39 | ks = extract_tags(k) 40 | # print(v) 41 | for j in ks: 42 | if not j.isdigit(): 43 | d.append({'name': j, 'value': v}) 44 | return jsonify({'kws':d}) 45 | 46 | 47 | 48 | @app.route("/time", methods=["get", "post"]) 49 | def get_time(): 50 | return uitls.get_time() 51 | 52 | 53 | @app.route("/", methods=["get", "post"]) 54 | def input_id(): 55 | return render_template("main.html") 56 | 57 | 58 | @app.route("/ind", methods=["get", "post"]) 59 | def get_id(): 60 | global stock_id 61 | stock_id = request.values.get("股票代码") 62 | print(stock_id) 63 | return render_template("main.html") 64 | 65 | 66 | if __name__ == '__main__': 67 | app.run() 68 | -------------------------------------------------------------------------------- /Flask制作股票查询网页/main.css: -------------------------------------------------------------------------------- 1 | body{ 2 | margin: 0; 3 | background: #333; 4 | } 5 | 6 | 7 | #title{ 8 | position: absolute; 9 | width: 40%; 10 | height: 10%; 11 | top: 0; 12 | left: 30%; 13 | /* background-color: #666666; */ 14 | color: white; 15 | font-size: 30px; 16 | 17 | display: flex; 18 | align-items: center; 19 | justify-content: center; 20 | } 21 | 22 | 23 | #ins{ 24 | position: absolute; 25 | width: 40%; 26 | height: 20%; 27 | top: 10%; 28 | left: 0; 29 | background-color: grey; 30 | } 31 | 32 | 33 | #tim{ 34 | position: absolute; 35 | /* width: 30%; */ 36 | height: 10%; 37 | top: 5%; 38 | right: 2%; 39 | color: #FFFFFF; 40 | font-size: 20px; 41 | /* background-color: green; */ 42 | } 43 | 44 | 45 | #be{ 46 | position: absolute; 47 | width: 100%; 48 | height: 30%; 49 | top: 10%; 50 | left: 0; 51 | color: white; 52 | /* background-color: #777777; */ 53 | } 54 | 55 | #bl{ 56 | position: absolute; 57 | width: 50%; 58 | height: 60%; 59 | top: 40%; 60 | left: 0; 61 | background-color: #888888; 62 | } 63 | 64 | #br{ 65 | position: absolute; 66 | width: 50%; 67 | height: 60%; 68 | top: 40%; 69 | left: 50%; 70 | background-color: #999999; 71 | } 72 | 73 | .num{ 74 | width: 20%; 75 | float: left; 76 | display: flex; 77 | align-items: center; 78 | justify-content: center; 79 | color:yellow; 80 | font-size: 20px; 81 | } 82 | 83 | .tex{ 84 | width: 20%; 85 | float: left; 86 | font-family: "幼圆"; 87 | display: flex; 88 | align-items: center; 89 | justify-content: center; 90 | 91 | -------------------------------------------------------------------------------- /Flask制作股票查询网页/main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
14 |