说明:
本项目通过爬虫爬取上证和深证股市股票列表,然后批量获取每只股票2018年到2020年每天的交易情况,在通过sanic和echarts在前端页面生成对应股票的k线图,运行结果如下,图片可以缩放拖拽:
一、项目目录如下
二、项目源码:
1、index.html代码,前端页面
echarts的js代码在echarts官网案例里面复制K线图代码,替换数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts.min.js"></script>
<title>Ttile</title>
</head>
<body>
<input type="text" id="code" name=""><input type="button" name="" value="查询" onclick="fn()">
<div id="main" style="width:800px ; height : 600px ; background: white">
<script>
function fn(){
// 发送ajax请求,需要用到jquery
$.ajax({
url:"http://127.0.0.1:8888/hello/"+$("#code").val(),
// 把code输入框的值传到url后面,然后用hello对应的函数处理
success:function(rawData){
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
function calculateMA(dayCount, data) {
var result = [];
for (var i = 0, len = data.length; i < len; i++) {
if (i < dayCount) {
result.push('-');
continue;
}
var sum = 0;
for (var j = 0; j < dayCount; j++) {
sum += data[i - j][1];
}
result.push(sum / dayCount);
}
return result;
}
var dates = rawData.map(function (item) {
return item[0];
}