Python财经股票数据保存表格文件 <雪球网>

嗨喽,大家好呀~这里是爱看美女的茜茜呐

环境使用:

  • Python 3.10 解释器

  • Pycharm 编辑器


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可


模块使用:

  • import requests —> 数据请求模块 pip install requests

  • import csv -> 保存csv表格

  • import pandas -> 可以实现保存Excel表格文件 pip install pandas

如何安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

  2. 在pycharm中点击Terminal(终端) 输入安装命令

爬虫实现流程: <基本公式 可以套用>

一. 数据来源分析
1. 明确需求: 明确采集的网站以及数据内容- 网址: 雪球网- 数据: 股票数据
2. 抓包分析: 分析 股票数据, 可以请求那个网址能够得到- 打开开发者工具: F12 / 右键点击检查选择 network (网络)- 点击第二页数据
数据包: https://stock.xueqiu.com/v5/stock/screener/quote/list.json?page=2&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha请求网址:请求方式:请求头:
二. 代码实现步骤
1. 发送请求 -> 模拟浏览器对于url发送请求
2. 获取数据 -> 获取服务器返回响应数据 <整个数据>
3. 解析数据 -> 提取我们需要数据
4. 保存数据 -> 保存表格文件 < csv / Excel > 中

代码展示:

'''
python资料获取看这里噢!! 小编 V:Pytho8987(记得好友验证备注:6 否则可能不通过)
即可获取:文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书!
'''
# 导入数据请求模块 <需要安装>
import requests
# 导入格式化输出模块
from pprint import pprint
# 导入csv模块
import csv
# 导入pandas模块 <需要安装>
import pandas as pd

“”"

保存表格文件

  1. csv -> csv模块
  2. Excel -> pandas模块

“”"

# 创建文件对象
f = open('股票.csv', mode='w', encoding='utf-8', newline='')
# fieldnames 字段名 表头一行数据 <前面保存字典的键>
csv_writer= csv.DictWriter(f, fieldnames=['股票代码','股票名称','当前价','涨跌额','涨跌幅','年初至今','成交量','成交额','换手率','市盈率(TTM)','股息率','市值',
])
# 写入表头
csv_writer.writeheader()
# 创建一个空列表
content_list = []

“”"

发送请求 -> 模拟浏览器对于url发送请求

  • 模拟浏览器: headers 请求头
    • 从浏览器开发者工具中直接复制
    • 字典数据类型, 构建完整键值对形式
  • 请求网址:
    从浏览器开发者工具中直接复制
  • 发送请求:
    需要requests模块 -> pip install requests

<Response [200]> 响应对象 表示请求成功

“”"

'''
python资料获取看这里噢!! 小编 V:Pytho8987(记得好友验证备注:6 否则可能不通过)
即可获取:文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书!
'''
# 模拟浏览器
headers = {'Cookie': 's=av17ye9exq; xq_a_token=cf755d099237875c767cae1769959cee5a1fb37c; xq_r_token=e073320f4256c0234a620b59c446e458455626d9; xq_id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1aWQiOi0xLCJpc3MiOiJ1YyIsImV4cCI6MTcwMTk5NTg4MCwiY3RtIjoxNzAwNTYzOTE3MDU2LCJjaWQiOiJkOWQwbjRBWnVwIn0.EbAa9h0fB9H_sH415f3x8r2CQiKmPbXZMnuKCy401scB1lMQKOffws6WTwPD2UzFWnntYxIQYSJpX509VUYYgCQkZ_bYtLbtYd5PfxLhWx7coauYA4d3x5aZolzB3eP5IthaYAb0Kbj3MPK8LVRBhABpRGr4wajISuABFNezroM_-5dpiOYK7Rk0UXtU2Qhrzxi1BVCgFUhPP-oR_vKenBw5tLzSqa6aO7CukgI7JVb-6LiymuBquE8FE-de8Vs3evai0fvtjiqryrH3EWM3nmDQIayigHRrYo595bD32kUPP4swHF5U2fwbLHTntIRAm9LsXn8sVf-6sUdgHoYZGg; cookiesu=931700563933974; u=931700563933974; device_id=5da9e0ae658f9fcd3d89078312131fb7; Hm_lvt_1db88642e346389874251b5a1eded6e3=1700563934; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1700563934','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'
}
for page in range(1, 58):print(f'==============正在采集第{page}页数据内容==============')# 请求网址url = f'https://stock.xueqiu.com/v5/stock/screener/quote/list.json?page={page}&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha'# 发送请求response = requests.get(url=url, headers=headers)

“”"

获取数据 -> 获取服务器返回响应数据 <整个数据>

  • response.text 获取响应文本数据 <字符串>
  • response.json() 获取响应json数据 <json数据 大部分情况字典数据>
  • response.content 获取响应二进制数据 <保存图片/视频/音频/特定格式文件的时候>

解析数据 -> 提取我们需要数据

解决数据方法根据获取数据来选择的:

字典取值方法 -> 键值对取值 (根据冒号左边的内容[键], 提取冒号右边的内容[值])

“”"

'''
python资料获取看这里噢!! 小编 V:Pytho8987(记得好友验证备注:6 否则可能不通过)
即可获取:文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书!
'''json_data = response.json()  # 返回json字典数据# for循环遍历for index in json_data['data']['list'][1:]:# 提取数据保存到字典里面, 方便后续保存表格文件dit = {'股票代码': index['symbol'],'股票名称': index['name'],'当前价': index['current'],'涨跌额': index['chg'],'涨跌幅': index['percent'],'年初至今': index['current_year_percent'],'成交量': index['volume'],'成交额': index['amount'],'换手率': index['turnover_rate'],'市盈率(TTM)': index['pe_ttm'],'股息率': index['dividend_yield'],'市值': index['market_capital'],}# 保存数据csv_writer.writerow(dit)# 把字典添加到空列表里面content_list.append(dit)print(dit)data = pd.DataFrame(content_list)
data.to_excel('股票.xlsx', index=False)

小知识点:

  • 汉化: file -> setting -> plugins -> 搜索Chinese

  • 批量替换方法:

    1. 选择替换的内容

    2. ctrl + R

    3. 输入正则命令进行需要替换的内容

      :.*  (.*?): (.*)
      ,   '$1': '$2',
      

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

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

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

相关文章

如果每天工资按代码行数来算,来看看你每天工资是多少

说在前面 &#x1f63c;&#x1f63c;如果每天的工资取决于我们所编写的代码行数&#xff0c;那么我们的生活会发生怎样的改变&#xff1f;来看看你的同事们今天都提交了多少代码吧&#xff0c;看看谁是卷王&#xff0c;谁在摸鱼&#xff08;&#x1f436;&#x1f436;狗头保命…

SLURM资源调度管理系统REST API服务配置,基于slurm22.05.9,centos9stream默认版本

前面给大家将了一下slurm集群的简单配置&#xff0c;这里给大家再提升一下&#xff0c;配置slurm服务的restful的api&#xff0c;这样大家可以将slurm服务通过api整合到桌面或者网页端&#xff0c;通过桌面或者网页界面进行管理。 1、SLURM集群配置 这里请大家参考&#xff1…

STM32F407-14.3.5-01捕获_比较通道

捕获/比较通道 每一个捕获/比较通道都是围绕着一个捕获/比较寄存器(包含影子寄存器) 包括: 捕获的输入部分(数字滤波、多路复用和预分频器)&#xff0c; 输出部分(比较器和输出控制)。 中文参考手册中框图分成了三大模块, 把框图合并成了一个整体,以便更好的理解捕获输…

仿东郊到家预约按摩小程序开发;

在这个快节奏的现代社会&#xff0c;人们对便捷、高效的服务需求日益增大。正因如此&#xff0c;到家预约系统上门按摩小程序应运而生&#xff0c;它结合了互联网技术和传统按摩服务&#xff0c;不仅满足了人们对便捷按摩服务的需求&#xff0c;还为商家提供了全新的商业价值。…

js数组中,相同id的item数据合并

原数据&#xff1a; const list [ {id:1, key: a}, {id:1, key: b}, {id:2, key: c}, {id:2, key: d}, ]期望数据格式 const newList [ {id:1, keyList: [a,b]}, {id:2, keyList: [c,d]}, ]// 相同id的数据合并let newList_(list ).flatten().groupBy(id).map(_.spread((..…

webpack 使用打包报错 ERROR in node_modules\@types\node\ts4.8\assert.d.ts

报错如下&#xff1a; 解决方式&#xff0c;先查看自己的 node 版本 node -v然后再安装 types/node 对应版本&#xff0c;比如我的如下 npm i types/node14.10.0 -D然后再次打包&#xff0c;就没有报错了

SpringBoot项目整合Redis,Rabbitmq发送、消费、存储邮件

&#x1f4d1;前言 本文主要是【Rabbitmq】——SpringBoot项目整合Redis&#xff0c;Rabbitmq发送、消费、存储邮件的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页…

服务器运行情况及线上排查问题常用命令

一、top命令 指令行&#xff1a; top返回&#xff1a; 返回分为两部分 &#xff08;一&#xff09;系统概览&#xff0c;见图知意 以下是几个需要注意的参数 1、load average&#xff1a; 系统负载&#xff0c;即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分…

C++基础 -8- 函数重载

函数重载格式(图片代码段呈现) #include "iostream"using namespace std;void rlxy(int a) {cout << "int a"<< endl; }void rlxy(char a) {cout << "char a"<< endl; }int main() {rlxy(99);rlxy(c); }函数重载的依据…

抖音视频如何无水印下载,怎么批量保存主页所有视频没水印?

现在最火的短视频平台莫过于抖音&#xff0c;当我们刷到一个视频想下载下来怎么办&#xff1f;我们知道可以通过保存到相册的方式下载&#xff0c;但用这种方法下载的视频带有水印&#xff0c;而且有些视频不能保存到相册&#xff08;这是视频作者设置了禁止下载&#xff09;。…

中间件安全:JBoss 反序列化命令执行漏洞.(CVE-2017-12149)

中间件安全&#xff1a;JBoss 反序列化命令执行漏洞.&#xff08;CVE-2017-12149&#xff09; JBoss 反序列化漏洞&#xff0c;该漏洞位于 JBoss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中&#xff0c;其 doFilter 方法在没有进行任何安全检查和限制的情况下尝试…

AIGC系列之:GroundingDNIO原理解读及在Stable Diffusion中使用

目录 1.前言 2.方法概括 3.算法介绍 3.1图像-文本特征提取与增强 3.2基于文本引导的目标检测 3.3跨模态解码器 3.4文本prompt特征提取 4.应用场景 4.1结合生成模型完成目标区域生成 4.2结合stable diffusion完成图像编辑 4.3结合分割模型完成任意图像分割 1.前言 …