大家好,今天学习一下用Python筛选底部股票代码
1、获取全量股票数据
1.1、先创建用于保存股票数据的mysql数据库表
创建表语句如下:
create table stock
(
id bigint auto_increment comment '自增主键'
primary key,
bs_code varchar(16) null comment 'bs股票代码',
code varchar(16) null comment '股票代码',
name varchar(32) null comment '股票名称',
link varchar(128) null comment '链接',
ipo_date varchar(32) null comment '上市日期'
)
comment '股票基础信息表' charset = utf8mb4;
1.2、写Python代码调用股票列表接口获取股票列表并保存到mysql数据库表中
import baostock as bs
import pymysql as pymysql
# 登录baostock
lg = bs.login()
rs = bs.query_stock_basic()
# 股票列表
stock_data_list = []
while rs.next():
row_list = rs.get_row_data()
if row_list[4] == '1' and row_list[5] == '1' and (
row_list[0].split('.')[1].startswith('0') or row_list[0].split('.')[1].startswith('6')):
row_list.pop(3)
row_list.pop(3)
row_list.pop(3)
row_list.insert(1, row_list[0].split('.')[1])
bs_code = row_list[0].split('.')
link = '<a href="https://xueqiu.com/S/' + bs_code[0].upper() + bs_code[1] + '" target="_blank">' + row_list[
2] + '</a>'
row_list.insert(3, link)
stock_data_list.append(row_list)
db = pymysql.connect(host='localhost', port=3306, user='root', passwd='123456', db='tushare', charset='utf8mb4')
cursor = db.cursor()
# 清空股票基础表数据
delete_stock_sql = 'delete from stock'
try:
# 执行sql语句
cursor.execute(delete_stock_sql)
# 提交到数据库执行
db.commit()
except Exception as e:
print(e)
# 如果发生错误则回滚
db.rollback()
# SQL 插入语句
insert_stock_sql = 'INSERT