Skip to content

Conversation

Yourdaylight
Copy link

东财的api现在反爬太严,不太能用了,得依赖本地存储历史行情做回测。
基于baostock添加了一个使用单独的history表进行存储的爬取工具。支持导入到mysql和clickhouse

@Boarman888
Copy link

ERROR:root:database.insert_other_db_from_df处理异常:cn_stock_spot表(1170, "BLOB/TEXT column 'date' used in key specification without a key length")
ERROR:root:database.insert_other_db_from_df处理异常:cn_etf_spot表(1170, "BLOB/TEXT column 'date' used in key specification without a key length") 这个是日期格式有问题?

@Metric640
Copy link

(stock) zan@PC:~/stock/history_data$ python deal_agg_data4mysql.py
股票数据处理工具

  1. 处理聚合数据并写入MySQL数据库
  2. 按市场分割数据文件
    请选择操作 (1/2): 1
    开始处理聚合数据并写入MySQL数据库...
    成功连接到MySQL数据库: 127.0.0.1:3306/instockdb
    找到 6 个数据文件

==================================================
处理文件: data_2000_2004.csv

==================================================
处理文件: data_2005_2009.csv

==================================================
处理文件: data_2010_2014.csv

==================================================
处理文件: data_2015_2019.csv

==================================================
处理文件: data_2020_2024.csv
警告: 无法从文件名 data_2020_2024.csv 中提取年份,跳过处理

==================================================
处理文件: data_2025_2025.csv

==================================================
处理完成!
成功: 0 个文件
失败: 1 个文件
数据库连接已关闭

检查数据库状态...
成功连接到MySQL数据库: 127.0.0.1:3306/instockdb
未找到相关的股票历史数据表

老板,求救,这一步解决不了

@canglangg
Copy link

(stock) zan@PC:~/stock/history_data$ python deal_agg_data4mysql.py

股票数据处理工具

  1. 处理聚合数据并写入MySQL数据库

  2. 按市场分割数据文件

请选择操作 (1/2): 1

开始处理聚合数据并写入MySQL数据库...

成功连接到MySQL数据库: 127.0.0.1:3306/instockdb

找到 6 个数据文件

==================================================

处理文件: data_2000_2004.csv

==================================================

处理文件: data_2005_2009.csv

==================================================

处理文件: data_2010_2014.csv

==================================================

处理文件: data_2015_2019.csv

==================================================

处理文件: data_2020_2024.csv

警告: 无法从文件名 data_2020_2024.csv 中提取年份,跳过处理

==================================================

处理文件: data_2025_2025.csv

==================================================

处理完成!

成功: 0 个文件

失败: 1 个文件

数据库连接已关闭

检查数据库状态...

成功连接到MySQL数据库: 127.0.0.1:3306/instockdb

未找到相关的股票历史数据表

老板,求救,这一步解决不了

文件名是data_2000_2004.csv这样的格式,但代码中的正则表达式是寻找data_\w+(\d{4})(\d{4}).csv格式,这意味着它期望在data_后面有一个市场标识符(如sh/sz/bj)。

修改正则

@Metric640
Copy link

(stock) zan@PC:~/stock/history_data$ python deal_agg_data4mysql.py
股票数据处理工具

  1. 处理聚合数据并写入MySQL数据库
  2. 按市场分割数据文件

请选择操作 (1/2): 1
开始处理聚合数据并写入MySQL数据库...
成功连接到MySQL数据库: 127.0.0.1:3306/instockdb
找到 6 个数据文件

处理文件: data_2000_2004.csv

处理文件: data_2005_2009.csv

处理文件: data_2010_2014.csv

处理文件: data_2015_2019.csv

处理文件: data_2020_2024.csv
警告: 无法从文件名 data_2020_2024.csv 中提取年份,跳过处理

处理文件: data_2025_2025.csv

处理完成!
成功: 0 个文件
失败: 1 个文件
数据库连接已关闭
检查数据库状态...
成功连接到MySQL数据库: 127.0.0.1:3306/instockdb
未找到相关的股票历史数据表
老板,求救,这一步解决不了

文件名是data_2000_2004.csv这样的格式,但代码中的正则表达式是寻找data_\w+(\d{4})(\d{4}).csv格式,这意味着它期望在data_后面有一个市场标识符(如sh/sz/bj)。

修改正则

大哥,还得是你呀👍

@Yourdaylight
Copy link
Author

推荐可以使用clickhouse的版本,历史行情的数据量用mysql存查询还是太慢了。我fork后做了cliclhouse的适配

@Metric640
Copy link

推荐可以使用clickhouse的版本,历史行情的数据量用mysql存查询还是太慢了。我fork后做了cliclhouse的适配

老板,哪个是可以用clickhouse的版本?/stock/instock/bin/run_job.sh执行的还是原版的程序。

@Yourdaylight
Copy link
Author

@Metric640
Copy link

https://github.com/Yourdaylight/stock/tree/dev

收到,老板。clickhouse相关的操作都弄明白了。之后还是运行/home/zan/stock/instock/bin 下面的run_job和run_web吗?

@Metric640
Copy link

run_job 后出现了好多"环境变量 qg_authKey 或 qg_password 未设置"。

@Metric640
Copy link

当前日期 2025-09-17 小于等于本地文件最后日期 2025-12-31,使用本地数据
数据库操作错误: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

@Yourdaylight
Copy link
Author

之前的issue有个老哥建了个群#479 可以进群问问。 qg_authKey 或 qg_password 未设置是代理的问题,没配置就不走代理,无所谓的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants