基于Python爬虫的股票成交量数据抓取分析系统

目录

  1. 数据获取 2
    1.1. 实验环境搭建 2
    1.2. 抓取数据 2
    1.2.1. 新浪财经 3
    1.2.2. 网易财经 6
    1.2.3. 东方财富 12
    1.2.4. TuShare (挖地兔) 19
    1.2.5. 其他平台 21
    1.3. 数据获取总结 22
    1.3.1. 股票代码抓取的总结 22
    1.3.2. 日线数据抓取总结 22
    1.3.3. 反爬虫策略及解决的总结 23

  2. 数据清洗(数据预处理) 23
    2.1. 无效数据处理 24
    2.2. 缺失数据处理 25

  3. 数据分析 27
    3.1. 《胡立阳股票投资100招》 由“价量关系”来为个股打分 (一) 28
    3.1.1. 介绍 28
    3.1.2. 思路分析 28
    3.1.3. 实现 29
    3.1.4. 运行结果 29
    3.1.5. 结果分析 36
    3.2. 《胡立阳股票投资100招》 由“价量关系”来为个股打分 (二) 38
    3.2.1. 思路分析 38
    3.2.2. 实现 38
    3.2.3. 分析结果 38
    3.3. 主力进出 (ZLJC) (一) 41
    3.3.1. 概念 41
    3.3.2. 思路分析 41
    3.3.3. 实现 42
    3.4. 主力进出 (ZLJC) (二) 45
    3.4.1. 前提引入 45
    3.4.2. 主要问题及分析思路 45
    3.4.3. 代码编写 45
    3.4.4. 结果分析 46
    3.5. 综合应用 48
    3.5.1. 数据准备 48
    3.5.2. 实现 48
    3.5.3. 统计结果分析 50

  4. 优化方案 53
    4.1. 爬虫性能优化 53
    4.2. 数据读取效率优化 53
    4.3. 编程模式的优化 54

  5. 总结 54

  6. 数据获取
    1.1. 实验环境搭建
    系统及使用的语言:
    Windows 10 专业版 1903 操作系统版本: 18362.356
    Python 3.7.3 64-bit
    需要额外安装的库:
    virtualenv-16.6.0: pip install virtualenv
    requests-2.22.0: pip install requests
    所依赖的模块:URLlib3 在安装 requests 时会自动安装尝试切换页面, 查看地址栏 URL 的变化
    BeautifulSoup4-4.8., 未发生改变ip install BeautifulSoup4`
    pandas: pip install pandas
    所依赖的模块:pytz ,numpy, python-dateutil, six, 在安装 requests 时会自动安装
    tqdm-4.36.1: pip install tqdm
    1.2. 抓取数据
    数据的抓取是构建数据仓库的第一步,首先需要确定数据来源,这个过程通常需要比较各个数据平台,考核数据平台的数据与研究需求的符合程度;具体表现在以下方面:
    数据的可靠性
    指数据来源是否可靠,有无数据敏感等潜在问题
    数据的完整性
    指与需求所需的数据相比是否有所缺失
    数据是否齐全
    获取的难易度
    抓取过程的实现难度
    在本选题中,对数据的需求主要是成交量, 而成交量又分为分时数据(单位时间为一交易日中的若干分钟)和分日数据(单位时间为一个交易日),分时数据的数据量较为庞大,在这里,主要还是针对分日数据进行研究,由于股市的特殊性, 单一的成交量很难制定出可能有效的策略,所以在研究过程中,依旧需要其他的数据作为辅助,综上所述, 在数据抓取阶段,主要需要抓取的数据是:
    股票代码列表
    日线数据
    本文转载自http://www.biyezuopin.vip/onews.asp?id=15692

import sys
import json
import pandas as pdclass Unity(object):def __init__(self):const_path = sys.path[0].replace("\\analyze_data", "")f = open(const_path + "\\const.json", "r", encoding="utf8")self.consts = json.loads(f.read())def do(self):f1 = open(sys.path[0] + "\\hly_count_res_max_4_group_by_date.json", "r", encoding="utf-8")hly = json.loads(f1.read())f2 = open(sys.path[0] + "\\zljc\\zljc_day_a.json", "r", encoding="utf-8")zljc = json.loads(f2.read())res = {}for code in zljc:for a in zljc[code]:for day in zljc[code][a]:for date in zljc[code][a][day]["dates_yes"]:# 筛选 hly 中该日期的股票有没有当前这只if date in hly.keys() and code in hly[date]:if date not in res.keys(): res[date] = []if code not in res[date]: res[date].append(code)f3 = open(sys.path[0] + "\\hly_and_zljc_res.json", "w", encoding="utf-8")f3.write(json.dumps(res, ensure_ascii=False))f3.close()f2.close()f1.close()def verify(self):f = open(sys.path[0] + "\\hly_and_zljc_res.json", "r", encoding="utf-8")res = json.loads(f.read())transform_dic = {}for date in res:for code in res[date]:if code not in transform_dic:transform_dic[code] = []transform_dic[code].append(date)# f3 = open(sys.path[0] + "\\hly_and_zljc_res_transform.json", "w", encoding="utf-8")# f3.write(json.dumps(transform_dic, ensure_ascii=False))# f3.close()count = {"yes": 0,"no": 0}for code in transform_dic:print(code)try:df = pd.read_csv("%s%s.csv" %  (self.consts['path']['result']['hly'], code), encoding="gbk")except:print("ERROR OPENING %s" % code)continuefor index, row in df.iterrows():if row['日期'] in transform_dic[code]:if index - 5 > 0:if df.loc[index-5, "收盘价"] > row["收盘价"]:count["yes"] += 1else:count["no"] += 1print(count)if __name__ == "__main__":u = Unity()# u.do()u.verify()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37211.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

朋友股票亏惨了,我一怒用Python爬取了证券最新数据

大家好,我是辣条。 抓取目标: url:http://webapi.cninfo.com.cn/#/marketDataDate 数据目标: 获取 证券代码 证券简称 交易日期 开盘价 最高价 最低价 收盘价 成交数量 难点: 请求头参数mcode 加密生成 使用第三方库: 1. requests 2. execjs 3. js2py 4. math …

Python爬虫实战:爬取股票信息

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者: PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可加入…

python爬虫实战-抓取同花顺股票信息

前言: 在之前介绍requests的基础上,现在开始进行实战。 目标网站:http://q.10jqka.com.cn//index/index/board/all/field/zdf/order/desc/page/ 一 涉及到的技术点: (1)requests: 用于网页请求 &#xff…

微信小程序登录面板切换不了账号,显示网络连接失败?

打开开发工具就会显示这个提示,无论我是点击确定还是取消,切换账号都显示网络连接失败~!!!!!! 我看了一些博客,说是选择直连代理。我试了,还是显示 网络连接…

wxpy 扫码登录微信报错 KeyError: pass_ticket(网页版微信登录失败)

使用wxpy开发微信聊天机器人,结果扫码登录后,提示: KeyError: pass_ticket解决方法:wxpy是根据网页版微信的接口封装的库。用wxpy,得去试试网页版微信(https://wx.qq.com/)看能否正常登录。 如…

pc端集成企业微信的扫码登录及遇到的问题

集成步骤: 1、在企业微信后台中添加应用 2、记录下应用的相关信息,在后文要用到 3、引入企业微信js 旧版:http://rescdn.qqmail.com/node/ww/wwopenmng/js/sso/wwLogin-1.0.0.js 新版(20210803更新):http…

uniapp微信登录报错-100,login:fail [:-1]未能完成操作。(PGWXAPI错误-1。)

报内容: { “errMsg”: “login:fail [:-1]未能完成操作。(PGWXAPI错误-1。),”, “errCode”: -100, “code”: -100 } 原因: 没有在manifest.json文件里面配置appsecret(微信开放平台申请移动应用之后会有个appsecret) 为什么没…

Android微信登录页面实现

利用Android实现微信手机端的登录页面&#xff0c;对于登录的输入做了一些的条件限制诸如&#xff0c;非空&#xff0c;长度限制等&#xff1b; 效果图如下&#xff1a; xml文件代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <Line…

分享一个基于GPT-3.5 Turbo的开源项目,界面简洁大气,反应速度快

今天在github又发现一个国内的大神开源的chatGPT项目。先看看整体的效果如何吧。 这个项目是基于OpenAI GPT-3.5 Turbo API 的demo。 本地部署 环境准备 安装node 由于该项目是使用node开发&#xff0c;所以&#xff0c;在部署之前先要安装好node环境。检查您的开发环境和部…

一款反应速度完全碾压chatgpt3.5turbo的软件 curor,直接运行

1、软件简介 Build Software. Fast.是一款可以在编辑器中使用 openAI GPT-4 模型编写的软件 官网地址&#xff1a;https://www.cursor.so/ 2.安装方法 不用安装直接运行exe3.使用方法 CTRLK(生成代码)CTRLL(对话功能)

OpenAI ChatGPT3.5-turbo实际解决问题能力评测

OpenAI ChatGPT3.5-turbo实际解决问题能力评测 ​ 程序员在coding的时候会经常遇到需要查阅资料的情况&#xff0c;最好的结果是直接能拿到一份好用的demo版本code&#xff0c;本次我们来评测&#xff1a;bing搜索和chatGPT3.5&#xff0c;解决实际问题&#xff1a;“html 图片…

程序员“摸鱼”神器,GitHub Copilot“凭本事”完全免费

上周Microsoft 365 Copilot的发布会上几段演示视频让朋友圈沸腾了一整天&#xff0c;颠覆&#xff0c;失业&#xff0c;工业革命刷屏&#xff0c;普遍的焦虑中有工作中重度依赖office的朋友表示如果功能都是真的&#xff0c;那么确实可以节约出很多时间摸鱼&#xff0c;但是立马…

AI人工智能时代真的到来了吗?

近一个月来&#xff0c;关于AI人工智能的话题此起彼伏&#xff0c;先有OpenAI发布GPT-4&#xff0c;后有百度推出文心一言&#xff0c;再有微软把GPT-4接入Office全家桶并命名为“Microsoft 365 Copilot”&#xff0c;除此之外&#xff0c;微软Bing还上线了AI绘图功能、谷歌开放…

文字生万物,AI极简史

AI 算法就像一个人类婴儿 哈罗德科恩花了 42 年把 AARON 铸成“另一半自己”。它是一段被画家造出来的计算机程序&#xff0c;或许也可以叫做 AI 系统。先是花了 20 年学会黑白简笔画&#xff0c;1995 年&#xff0c;它第一次表演上色&#xff0c;以一个庞大的机器模样&#xf…

WindTerm使用(暂停更新)

作为一个经常和代码以及服务器打交道的人&#xff0c;连接远程服务器所使用的工具肯定是越方便越好。目前&#xff0c;我使用的是xshell5和MobaXterm两个。Xshell最新的是7&#xff0c;破解版的我懒得去找&#xff0c;那xshell7免费使用一段时间后&#xff0c;就得付费&#xf…

【论文速递】ACM MM 2022 - 基于统一对比学习框架的新闻多媒体事件抽取

【论文速递】ACM MM 2022 - 基于统一对比学习框架的新闻多媒体事件抽取 【论文原文】&#xff1a;Multimedia Event Extraction From News With a Unified Contrastive Learning Framework 【作者信息】&#xff1a;Liu, Jian and Chen, Yufeng and Xu, Jinan 论文&#xff…

JoVE微生物组专刊征稿,写方法拍视频教程发SCI(宏基因组公众号专属福利)

JoVE 视频实验杂志 官网&#xff1a;https://www.jove.com/ 包括上万个实验和分析方法视频&#xff0c;还有几十个领域的数百个专业视频教程资源。 这个杂志被SCI收录了吗&#xff1f;必须的。杂志在Web of Science中JCR信息如下&#xff1a; 2年影响因子 1.1&#xff0c;5年影…

2020年, video captioning论文汇总

目录 CVPR2020&#xff1a;ORG-TRLCVPR2020&#xff1a;STG-KDTIP2020&#xff1a;OSTGTPAMI2020&#xff1a;SibNet&#xff08;MM2018&#xff09;WACV2020&#xff1a;DSDWACV2020&#xff1a;STaTS CVPR2020&#xff1a;ORG-TRL 题目 Object Relational Graph with Teache…

深度学习顶会论文投稿策略7步走(附资料)

科研论文&#xff0c;不同于毕业论文之处在于——科研论文是根据有价值的生产实践或科研课题写作的&#xff0c;具有原创性和独到性的论文。 在学术界&#xff0c;有人写论文是为了升硕士&#xff0c;升博士或者研究生博士顺利毕业。毕竟在学术界论文是工作和科研水平的直观体现…

最新最全论文合集——AAAI 历年最佳论文汇总

AMiner平台&#xff08;https://www.aminer.cn&#xff09;由清华大学计算机系研发&#xff0c;拥有我国完全自主知识产权。平台包含了超过2.3亿学术论文/专利和1.36亿学者的科技图谱&#xff0c;提供学者评价、专家发现、智能指派、学术地图等科技情报专业化服务。系统2006年上…