本篇为个人测试记录,记录爬取连续一字板的股票及当时日期。

import tushare as ts
import pandas as pd
import time # 筛选一字板的策略
def gp_rules(code):
# 获取某只股票的历史数据
data = ts.get_hist_data(code, start='2018-01-01', end='2019-07-26')
# 排除该时间段无数据的股票
if data is None:
return # 筛选表头【开盘价,收盘价, 涨幅】
data_2 = data.iloc[:, [0, 2, 6]]
# 筛选出涨幅大于9%且开盘价等于收盘价的股票,即一字涨停的股票(有待优化~)
data_3 = data_2[(data_2['p_change'] > 9) & (data_2['open'] == data_2['close'])]
# 去除不存在一字板的股票(即空数据)
if data_3.index is None:
return
line = len(data_3)
f, s = 1, 0
# 遍历检查是否连续的一字板
for n in range(0, line): # 检查是否连续的一字板
if int(data_3['open'][n] * (data_3['p_change'][n]/100 + 1)) == int(data_3['open'][n-1]):
f = f + 1
# 若4连或4连以上一字板则打印代码及当时日期
if f >= 5 and s == 0:
print(code, data_3.index[n-4])
s = 1
else:
f = 1 # 筛选股票代码
def get_code():
   # 自己获取
TOKEN = 'xxxx'
pro = ts.pro_api(token=TOKEN)
# 筛选代码,上市日期
get_codedata = pro.stock_basic(exchange='', list_status='L', fields='symbol, list_date')
# 将list_date改为日期格式并转为索引
get_codedata['list_date'] = pd.to_datetime(get_codedata['list_date'])
get_codedata = get_codedata.set_index('list_date')
# 筛选2018-01-01前的数据,取code,转为list
symbol_list = get_codedata[:'2018-01-01']['symbol'].tolist()
return symbol_list # 测试运行时间
start = time.clock() code_list = get_code()
print("正在爬取符合策略的股票,请耐心等待......") for code in list(code_list):
time.sleep(1.4)
gp_rules(code) print("爬取筛选完成!")
end = time.clock() print('运行时间:%s Seconds' % (end-start))

如有错误,请及时指正,谢谢!

python爬取连续一字板股票及当时日期数据【原创分享】的更多相关文章

  1. Python爬取全球是最大的电影数据库网站IMDb数据

    在使用 Python 开发爬虫的过程中,requests 和 BeautifulSoup4(别名bs4) 应用的比较广泛,requests主要用于模拟浏览器的客户端请求,以获取服务器端响应,接收到的响 ...

  2. Python爬取爱奇艺【老子传奇】评论数据

    # -*- coding: utf-8 -*- import requests import os import csv import time import random base_url = 'h ...

  3. python爬取股票最新数据并用excel绘制树状图

    大家好,最近大A的白马股们简直 跌妈不认,作为重仓了抱团白马股基金的养鸡少年,每日那是一个以泪洗面啊. 不过从金融界最近一个交易日的大盘云图来看,其实很多中小股还是红色滴,绿的都是白马股们. 以下截图 ...

  4. python爬取微信小程序(实战篇)

    python爬取微信小程序(实战篇) 本文链接:https://blog.csdn.net/HeyShHeyou/article/details/90452656 展开 一.背景介绍 近期有需求需要抓 ...

  5. python爬取免费优质IP归属地查询接口

    python爬取免费优质IP归属地查询接口 具体不表,我今天要做的工作就是: 需要将数据库中大量ip查询出起归属地 刚开始感觉好简单啊,毕竟只需要从百度找个免费接口然后来个python脚本跑一晚上就o ...

  6. 萌新学习Python爬取B站弹幕+R语言分词demo说明

    代码地址如下:http://www.demodashi.com/demo/11578.html 一.写在前面 之前在简书首页看到了Python爬虫的介绍,于是就想着爬取B站弹幕并绘制词云,因此有了这样 ...

  7. Python爬取网页信息

    Python爬取网页信息的步骤 以爬取英文名字网站(https://nameberry.com/)中每个名字的评论内容,包括英文名,用户名,评论的时间和评论的内容为例. 1.确认网址 在浏览器中输入初 ...

  8. Python 爬取 热词并进行分类数据分析-[解释修复+热词引用]

    日期:2020.02.02 博客期:141 星期日 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...

  9. 手把手教你使用Python爬取西刺代理数据(下篇)

    /1 前言/ 前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇),木有赶上车的小伙伴,可以戳进去看看.今天小编带大家进行网页结构的分析以及网页数据的提取,具体步骤如下. /2 首页分析 ...

随机推荐

  1. CentOS7安装MySQL报错,解决Failed to start mysqld.service: Unit not found

    当输入命令 ~]# systemctl start mysql.service 要启动MySQL数据库是却是这样的提示 Failed to start mysqld.service: Unit not ...

  2. mysql官方源安装的一些问题

    今天测试Linux 各个软件源 ,发现mysql 配置官方源之后,yum install -y mysql   安装了 mysql lastst 最新版,  安装完之后,奇葩的是没有提示输入密码, 所 ...

  3. 基于java开发jsp+ssm+mysql实现的在线考试系统 源码下载

    实现的关于在线考试的功能有:用户前台:用户注册登录.查看考试信息.进行考试.查看考试成绩.查看历史考试记录.回顾已考试卷.修改密码.修改个人信息等,后台管理功能(脚手架功能不在这里列出),科目专业管理 ...

  4. Spring AOP-基于@AspectJ风格

    关于Spring AOP,可以去看看官方文档: https://docs.spring.io/spring-framework/docs/current/spring-framework-refere ...

  5. formateDate

    function formateDate(fmt, date) { let _this = new Date(date) let o = { "M+": _this.getMont ...

  6. NIM游戏的Python实现

    可执行程序下载: 链接:https://pan.baidu.com/s/1xQedrWRBsqQRZvOe91Rvng 提取码:goi9 Nim游戏是博弈论中最经典的模型(之一),它又有着十分简单的规 ...

  7. Centos 7 firewall的防火墙的规则

    这是官方文档: http://www.firewalld.org/documentation/man-pages/firewall-cmd.html 想使用iptables的规则,firewall也可 ...

  8. SQL Server误设置max server memory处理小结

    昨天网上一网友说,由于他同事误将"max server memory"设置为10M后,SQL Server数据库登录不了,当时我简单测试了一下,今天有空就顺手将整个过程整理一下,记 ...

  9. Linux学习笔记:磁盘分区

    本文更新于2019-12-30.操作系统为Debian 8.9 (jessie). 以下假设新磁盘为/dev/sdb,要创建一个分区/dev/sdb1,文件系统类型为xfs.请根据实际情况,自行选择. ...

  10. 调用手机摄像头并上传图片--jquery ajax

    1.图片框样式与进度条样式 .alert_img_content { width: 44%; float: left; margin: 3%; border: 1px solid #ddd; back ...