数据爬虫:获取申万一级行业数据

目录

1. 获取访问接口

2. 链接网址

3. 链接名单

免责声明:本文由作者参考相关资料,并结合自身实践和思考独立完成,对全文内容的准确性、完整性或可靠性不作任何保证。同时,文中提及的数据仅作为举例使用,不构成推荐;文中所有观点均不构成任何投资建议。请读者仔细阅读本声明,若读者阅读此文章,默认知晓此声明。本文使用爬虫获取相关网站公开数据,仅作为技术分享使用,数据不涉及商用和盈利。

   申万一级行业数据,对于行业的统计分析非常重要,本文主要是分享,如何通过爬虫获取其历史收盘价数值。

1. 获取访问接口

    此方法由一位昵称为‘富贵’的大佬分享,在此对其表示感谢。

   许多数据源使用的是json传输到网页,使用xpath或者bs4均无法提取数据,因此需要使用直接访问传输文件对应的接口。

    首先根据网址名称申万宏源证券咨询网 (swhyresearch.com),F12获取相应的网页信息。

   根据网页信息,可以发现trend文件中包含所需数据 ,接下来复制该文本为URL(bash)。

  将获取的数据粘贴到 https://curlconverter.com/中,并切换语言为python。

    这样一来,就可以获取类似于接口的代码:

import requestscookies = {'i18next': 'zh-CN',
}headers = {'Accept': '*/*','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6','Connection': 'keep-alive',# 'Cookie': 'i18next=zh-CN','Sec-Fetch-Dest': 'empty','Sec-Fetch-Mode': 'cors','Sec-Fetch-Site': 'same-origin','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0','X-Access-Token': 'null','clientType': '4','sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"','token': '',
}params = {'swindexcode': '801001','period': 'DAY',
}response = requests.get('https://www.swhyresearch.com/institute-sw/api/index_publish/trend/',params=params,cookies=cookies,headers=headers,
)

2. 链接网址

    根据上述的代码,调整所需参数(参数位于params中,即申万一级行业对应的编码和数据频率),然后解析,即可获得数据(本文仅获取日期和收盘价)。

import requests
import pandas as pd
import sysdef get_sw_data(code, period=None):'''获取单个申万一级行业指数的收盘价code:str,指数编码,例如'801001'period:str,数据频率,例如'DAY',默认为日度;DAY-日度,WEEK-周度,MONTH-月度-------返回DataFrame,列名为日期和收盘价'''cookies = {'i18next': 'zh-CN', }headers = {'Accept': '*/*','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6','Connection': 'keep-alive',# 'Cookie': 'i18next=zh-CN','Sec-Fetch-Dest': 'empty','Sec-Fetch-Mode': 'cors','Sec-Fetch-Site': 'same-origin','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0','X-Access-Token': 'null','clientType': '4','sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"','token': '',}params = {'swindexcode': code, 'period': period or 'DAY'}response = requests.get('https://www.swhyresearch.com/institute-sw/api/index_publish/trend/',params=params, cookies=cookies, headers=headers)# 判断是否提取到数据,若未拿到数据,自动退出if response.status_code == 200:print('链接成功!开始获取数据')else:print('链接失败!自动退出', response.status_code)sys.exit()# 解码并将数据转换为DataFrame,然后对所需字段进行转换text_json = response.json()data = pd.DataFrame(text_json["data"])# 日期转化为str,格式如'20200101'data['date'] = data['bargaindate'].apply(lambda x: pd.to_datetime(str(x)).strftime("%Y%m%d"))out_df = pd.DataFrame({'日期': data['date'], '收盘价': data['closeindex']})return out_dfif __name__ == '__main__':code = '801001'data = get_sw_data(code, 'MONTH')

  运行后,得到的结果为:

3. 链接名单

    第二节分享了如何获取单个申万行业指数的数据,本节主要分享如何获取申万行业的名单和编码,方法和之前一样。网址为申万宏源证券咨询网 (swhyresearch.com)

  对应的代码为: 

import requests
import pandas as pdcookies = {'i18next': 'zh-CN', }
headers = {'Accept': '*/*','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6','Connection': 'keep-alive',# 'Cookie': 'i18next=zh-CN','Sec-Fetch-Dest': 'empty','Sec-Fetch-Mode': 'cors','Sec-Fetch-Site': 'same-origin','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0','X-Access-Token': 'null','clientType': '4','sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"','token': '', }
# page--页数;page_size--单页展示多少条数据,最大50条
# 由于申万行业当前共有30多个,因此此处直接设置为50,不进行循环page的操作
params = {'page': '1', 'page_size': '50', 'indextype': '一级行业', 'sortField': '', 'rule': '', }
response = requests.get('https://www.swhyresearch.com/institute-sw/api/index_publish/current/',params=params, cookies=cookies, headers=headers)
text_json = response.json()
data = pd.DataFrame(text_json["data"]['results'])
out_df = pd.DataFrame({'申万代码': data['swindexcode'],'指数名称': data['swindexname']})

   对应的结果为:

     结合第二节,是用循环,就可以获取所有申万一级行业的指数 数据,需要注意的是,循环时尽可能设置一下访问的时间间隔,不要过度和过快的去访问。许多可优化的点,本文就不再深究。

    本期分享结束,有何问题欢迎交流。

免责声明:本文由作者参考相关资料,并结合自身实践和思考独立完成,对全文内容的准确性、完整性或可靠性不作任何保证。同时,文中提及的数据仅作为举例使用,不构成推荐;文中所有观点均不构成任何投资建议。请读者仔细阅读本声明,若读者阅读此文章,默认知晓此声明。本文使用爬虫获取相关网站公开数据,仅作为技术分享使用,数据不涉及商用和盈利。

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

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

相关文章

网站高性能架构设计——高性能数据库集群

从公众号转载,关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、高性能数据库简介 1.高性能数据库方式 读写分离:将访问压力分散到集群中的多个节点,没有分散存储压力 分库分表&…

Unity_使用FairyGUI搭建登录页面

Unity_使用FairyGUI搭建登录页面 1. 使用FairyGUI准备一个UI界面,例如:以下登录 2. 发布导出(发布路径设置为Unity的Asset下任何路径) 3. Unity编辑器安装FairyGUI包资源(在资源商店找见并存储为我的资源,…

百度智能云战略与咨询高级总监詹颖:每个人都能在大模型驱动的数字化生态中找到立足之地

“ 大模型是皇冠上的明珠。 ” 整理 | 王娴 编辑 | 云舒 出品|极新 2023年11月28日,极新AIGC行业峰会在北京东升国际科学园顺利召开,百度智能云战略与咨询高级总监詹颖女士在会上做了题为《生成式 AI 驱动企业应用创新》的演讲。 重点…

了解宝宝健康第一步:做好华大基因无创产前筛查检测

近年来,高龄产妇明显增加,多因素的影响导致出生缺陷发生率呈总体上升趋势,出生缺陷已经成为重大公共卫生问题之一,更是影响人口质量的重要风险因素。孕前、孕期到产后的出生缺陷综合防控三级体系中,做好产前筛查是阻断…

通过fpmarkets与自媒体导师学习经验,避免踩坑

举一个例子,从fpmarkets与自媒体导师学习的负面经验,避免各位投资者踩坑。这个要从fpmarkets刚踏入外汇交易市场的第二年说起,偶然的一次,当fpmarkets看到一个可以不用花钱就可以学习交易培训课程时,就如同中了大奖一样…

【STM32单片机】贪吃蛇游戏设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器,使用IIC OLED模块、按键等。 主要功能: 系统运行后,OLED显示游戏界面,可通过K1-K4键控制蛇的方向,当蛇吃…

【腾讯云 HAI域探秘】借助高性能服务HAI快速学会Stable Diffusion生成AIGC图片——必会技能【微调】

目录 Stable Diffusion基本使用方法 学术加速测试 配置中文插件 Prompt与Negative prompt 采样器说明 人像生成 水光效果 微调的使用 图像生成种子/seed使用 附加/Extra 微调实例测试 图生图微调 ​编辑 使用蒙版微调 Stable Diffusion基本使用方法 环境配置&am…

【机器学习】亚马逊云科技基础知识:以推荐系统为例。你知道机器学习的关键所在么?| 机器学习管道的各个阶段及工作:以Amazon呼叫中心转接问题为例讲解

有的时候,暂时的失利比暂时胜利要好得多。 ————经典网剧《mao pian》,邵半仙儿 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌟[3] 2022年度博客之星人工智能领域TOP

大象慧云:从设立分部到迁移总部 与贵阳贵安共筑税务数字化未来

近年来,贵阳贵安着力提升政务服务水平,通过擦亮“贵人服务”品牌,持续优化营商环境。在这样的环境下,再加上“大数据基因”,对于希望在大数据领域大展拳脚的企业来说,贵阳贵安无疑成为了一个极具吸引力的选…

【ZYNQ】AXI4总线接口协议学习

建议翻看着底部的参考文档资料和本文一起辅助阅读 本文带你详细的了解AXI总线协议,并且基于官方手册,能够提高你的手册阅读能力。 什么是AXI AXI 的英文全称是 Advanced eXtensible Interface,即高级可扩展接口,它是 ARM 公司所提…

自激活T细胞为肿瘤免疫治疗提供新思路—高分文献分享

CD28是在所有小鼠和人类T细胞上表达的共刺激受体,用来调节T细胞受体(TCR) 的响应。异常的CD28 信号传导是癌症、自身免疫和病毒感染中T细胞功能障碍的决定性特征之一。早期的一些研究表明CD28对CD4 T细胞更重要,但也有越来越多的研究者发现其对CD8 T细胞…

HAT(CVPR 2023):Hybrid Attention Transformer for Image Restoration

HAT ​ 论文地址:HAT: Hybrid Attention Transformer for Image Restoration ​ 代码地址:XPixelGroup/HAT: CVPR2023 - Activating More Pixels in Image Super-Resolution Transformer 摘要 ​ 通过归因分析attribution analysis method - Local …

智能科技企业网站搭建的作用是什么

随着科学技术快速提升,各种智能产品随之而来,每个赛道里都涌入了大量企业商家,有些热门产品更是广受关注,对企业来说,形象、品牌、信息等方面需要完美呈现到用户眼前,而网站无疑是很好的工具。 企业通过【…

lwIP 细节之四:recv 回调函数是何时调用的

使用 lwIP 协议栈进行 TCP 裸机编程,其本质就是编写协议栈指定的各种回调函数。将你的应用逻辑封装成函数,注册到协议栈,在适当的时候,由协议栈自动调用,所以称为回调。 注:除非特别说明,以下内…

常用whl文件地址整理

文章目录 一、Deep Graph Library(DGL)二、torch torchvision torchaudio三、numpy四、pandas可留言其他whl文件地址,不定期更新 一、Deep Graph Library(DGL) DGL是一个专门用于深度学习图形的Python包, 一款面向图神…

代码随想录算法训练营第50天| 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV

JAVA代码编写 123.买卖股票的最佳时机III 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 **注意:**你不能同时参与多笔交易(你必须在再次购买前出…

HDPE硅芯管材具有优异的耐腐蚀性、耐磨损性和耐老化性

HDPE硅芯管材作为一种优质的管道材料,具有许多突出的性能。其中,其优异的耐腐蚀性、耐磨损性和耐老化性是其主要特点之一。 首先,HDPE硅芯管材具有出色的耐腐蚀性。它的高密度聚乙烯(HDPE)材料具有良好的耐腐蚀性能&a…

2023快速上手新红利项目:短剧分销推广CPS

短剧分销推广CPS是一个新红利项目,对于新手小白来说也可以快速上手。 以下是一些建议,帮助新手小白更好地进行短剧分销推广CPS: 学习基础知识:了解短剧的基本概念、制作流程和推广方式。了解短剧的市场需求和受众群体&#xff0c…

STM32F030C8读取CS1237采集模拟

STM32F030C8读取CS1237采集模拟 Chapter1 【问题解决记录】STM32F030C8读取CS1237采集模拟问题描述原因分析:解决方案: Chapter2 CS1237 STM32控制程序以及原理图需要注意事项 Chapter1 【问题解决记录】STM32F030C8读取CS1237采集模拟 原文链接&#x…

【技术分享】常见VLAN部署方式

VLAN部署方式: 第一种End-to-End VLAN(端到端VLAN) 全局部署的VLAN,VLAN信息可以扩展到整个网络(换句话说就是每台交换机上VLAN信息一致) 将用户分组到与物理位置无关的VLAN中;如果用户在园区…