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

目录

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,一经查实,立即删除!

相关文章

JAVA 导出报表 大数据量 sxssfworkbook的使用

sxssfworkbook 之前报表导出使用得是XSSFWorkbook 但是导出数据量过大的时候经常出现OOM,现在发现使用sxssfworkbook 减少内存压力 官网是这样介绍的: SXSSF (package: org.apache.poi.xssf.streaming) is an API-compatible streaming extension of X…

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

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

Maven 私服搭建

文章目录 配置模板servermirror RELEASE、SNAPSHOT版本区别发行版&#xff08;RELEASE&#xff09;快照&#xff08;SNAPSHOT&#xff09; mvn deploy 配置模板 server <!--第一个server-id要和下面的mirror中的id一致&#xff0c;代表拉取是也需要进行身份校验--> <…

Unity_使用FairyGUI搭建登录页面

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

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

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

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

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

python的运行原理

Python本身不能直接调动电脑的运行。但是&#xff0c;Python可以利用操作系统提供的接口来与计算机进行交互。比如&#xff0c;Python可以使用操作系统提供的API来执行某些任务&#xff0c;如创建、读取、修改、删除文件&#xff0c;启动程序或服务等。Python也可以利用第三方模…

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

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

高效记住GDI+常用绘图

1. 绘图质量&#xff1a;设置Graphics属性 主要有&#xff1a;根据首字母简写为&#xff1a;ISCT (您可以记为: Is CT?——引伸记忆&#xff1a;是否CT检查&#xff1f; 【CT为医院的“CT检查”&#xff0c;这里为检查绘图质量】 比如要获得最高质量的图像&#xff0c;可以…

股票关键指标

股票市场有许多关键指标&#xff0c;投资者通常使用这些指标来评估一支股票的潜在价值、风险和投资机会。以下是一些常见的股票关键指标&#xff1a; 1. 市盈率&#xff08;P/E比&#xff09;&#xff1a; 衡量一支股票当前价格与每股收益之比&#xff0c;是评估股票相对估值的…

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

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

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

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

记录每日LeetCode 2697.字典序最小回文串 Java实现

题目描述&#xff1a; 给你一个由 小写英文字母 组成的字符串 s &#xff0c;你可以对其执行一些操作。在一步操作中&#xff0c;你可以用其他小写英文字母 替换 s 中的一个字符。 请你执行 尽可能少的操作 &#xff0c;使 s 变成一个 回文串 。如果执行 最少 操作次数的方案…

2023-12-12 AIGC-AI在理解用户提问时的局限性和误解领域

摘要: 2023-12-12 AIGC-AI在理解用户提问时的局限性和误解领域 AI在理解用户提问时的局限性和误解领域 局限性: AI在理解用户提问时的局限性和误解领域是多方面的&#xff0c;这些限制通常源于技术的本质、训练数据的特性以及AI模型的设计。下面详细讨论这些方面&#xff1a;…

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

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

正交基概念

求正交向量组中的系数 考虑 n n n 个任意两个向量之间相互正交的 n n n 维向量 a ⃗ \vec a a &#xff0c;则其构成一个 n n n 维的欧几里得空间 R n R^n Rn&#xff0c;为其中的每一个向量赋予一个常数系数 c c c&#xff0c;则空间中的任意向量 v v v 可以表示为这组…

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

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

swiper播放视频,完成后自动切换下一张

video 属性和事件用法大全&#xff1a; https://www.cnblogs.com/rogerwu/p/10072119.html 我的思路是监听视频播放进度&#xff0c;如果播放完毕再开启swiper的自动轮播&#xff0c;因为我的需求是只有第一个swiper才是视频&#xff0c;后边的都是图片&#xff0c;那就需要轮…

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

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

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

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