爬取东方财富网当日股票交易情况
爬取东方财富网当日股票交易情况
爬虫的第一步是得到数据的存放地址,因此,爬取股票行情数据之前,第一步工作是解析网页,寻找数据的url。
东方财富网股票行情界面如图:
此页面的链接为:http://quote.eastmoney.com/center/gridlist.html#hs_a_board
在浏览器地址栏内输入此链接可以正常访问,但是通过requests库请求并没有得到关于股票行情的数据,这可能是由于网站为了方便维护,把数据储存在json对象中,方便修改,有此假设,在任意股票上右击查看源码:
通过搜索某一只股票的名称,找到对应的地址,所有股票的信息都保存在了这个链接指向的对象中:
url:http://98.push2.eastmoney.com/api/qt/clist/get?cb=jQuery1124034962033822322613_1582007856997&pn=1&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:0+t:6,m:0+t:13,m:0+t:80,m:1+t:2,m:1+t:23&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1582007856998
粘贴到地址栏,我们发现,返回了20条股票信息,查看url的组成,存在一项“pz=20”的句子,大胆猜测这表示返回20条信息,如果改成20000是否会返回更多数据呢?
尝试后,确实如假设所想,返回了3912条股票数据(沪深A股总的数量),至此,我们得到了数据的存放地址,通过requests库可以直接返回json数据,这实在是太方便了。
2、获取数据:
import requests,re,json
from bs4 import BeautifulSoup
import pandas as pd#指定连接
url = r'http://21.push2.eastmoney.com/api/qt/clist/get?cb=jQuery112407201580659678162_1581950914193&pn=1&pz=20000&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:0+t:6,m:0+t:13,m:0+t:80,m:1+t:2,m:1+t:23&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1581950914194'
#定义请求头
headers = {'UserAgent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36'}
#获取数据
html=requests.get(url,headers = headers)
3、清洗数据,保存到excel
查看返回的信息,发现我们需要的数据储存在"diff"这个列表中,或者说是在json数据的第6个元素中,但是与干净的json数据不同,这里前多了42个字符,后多了2个字符,因此需要删除多余字符。
#提取json数据
jsons = html.text[42:][:-2]
#将正确格式的str格式转为json格式
text_json = json.loads(jsons)
#利用pandas储存数据到excel
pd.DataFrame((text_json['data']['diff'])).to_excel(r'Path\abc.xlsx')
4、查看结果
初步的结果如上图所示,标题并不直观,需要重新定义,因此,在东财网站中检查“名称”这一项的源码,可以找到各“fxx”的含义,而且通过重新定义请求链接,我们可以控制返回数据的类型,也即:删除不需要的列。
标题行数据的储存地址:http://quote.eastmoney.com/center/js/gridlist3.min.js?v=200115170204531&v=ckdJ099tmGa5K6pqPzMnueRq_2nTrq8DkG9r0SZ0xtg
按照json格式解析后,可以得到:
上图是标题行代码的含义(fxx),按照此表查询可以定制请求链接,按照需求返回股票信息。
最终经过整理,得到Excel如图:
至此完成了东财网站的每日股票交易数据的爬取过程。
爬取东方财富网当日股票交易情况相关推荐
- 使用python爬取东方财富网机构调研数据
最近有一个需求,需要爬取东方财富网的机构调研数据.数据所在的网页地址为: 机构调研 网页如下所示: 可见数据共有8464页,此处不能直接使用scrapy爬虫进行爬取,因为点击下一页时,浏览器只是发起了 ...
- 爬取东方财富网股票行情数据和资讯
爬取东方财富网股票行情数据和资讯 这个需求源于我的一个练手项目 本篇博客参考:https://zhuanlan.zhihu.com/p/50099084 该博客介绍的东西本博客不做论述 使用技术: 语 ...
- python爬取东方财富网资金流向数据(在本地生成csv文件)
今天我们来试着用python爬取东方财富网资金流向的表格数据. 第一步:程序及应用的准备 首先我们需要安装selenium库,使用命令pip install selenium;然后我们需要下载对应的c ...
- 利用python爬取东方财富网股吧评论并进行情感分析(一)
利用python爬取东方财富网股吧评论(一) python-东方财富网贴吧文本数据爬取 分享一下写论文时爬数据用到的代码,有什么问题或者改善的建议的话小伙伴们一起评论区讨论.涉及内容在前人的研究基础之 ...
- 爬取东方财富网的部分股票信息(1)
爬取东方财富网的部分股票信息(1) 目标:爬取东方财富网的部分股票的名称.代码.涨跌幅.融资余额.融资融券余额.股东户数 编程语言:Python 3.7 开发IDE:Visual Studio 201 ...
- python培训机构调研最多的股票_使用python爬取东方财富网机构调研数据
标签: 最近有一个需求,需要爬取东方财富网的机构调研数据.数据所在的网页地址为: 机构调研 网页如下所示: 可见数据共有8464页,此处不能直接使用scrapy爬虫进行爬取,因为点击下一页时,浏览器只 ...
- [Python爬虫]爬取东方财富网公司公告需要注意的几个问题
在上一篇文章中,以爬取东方财富网公司公告为例,介绍了如何爬取利用ajax加载的网页,以及如何模拟翻页.但是,在实际应用的过程中,发现了一些问题.接下来就来一一分析解决. 问题一.公告数量过多,后面的公 ...
- 爬虫学习笔记(用python爬取东方财富网实验)
参考文章以及视频:(11条消息) 爬虫实战 | 爬取东方财富网股票数据_简说Python的博客-CSDN博客.手把手教你从东方财富网上获取股票数据_哔哩哔哩_bilibili.[Python爬虫案例] ...
- python爬虫爬取东方财富网股票走势+一些信息
一.目标 我们的目标是爬取东方财富网(https://www.eastmoney.com/)的股票信息 我的目标是爬取100张股票信息图片 经过实际测试我的爬取范围为000001-000110,000 ...
最新文章
- 前端每周清单第 33 期:React 16 发布与特性介绍,Expo AR 教程,ExtJS 从崛起到沉寂...
- C Primer Plus 第10章 数组和指针 10.5 指针操作
- 新的一年,开始新的学习旅途
- Spring boot嵌入式Servlet容器定制器
- Nhibernate 3.0 Cookbook学习笔记 利用XML映射类
- ssh 连接超时 不断开
- kali linux 2019.1 替换burpsuite pro 1.7.37
- java lambda 变量_java – 从lambda表达式引用的局部变量必须...
- 手机怎么往服务器传文件,windows怎么用指令给手机传文件
- Mac翻译系列软件推荐三:Mate Translate for Mac多国语言翻译工具
- 网站机房:DDOS防火墙在企业机房中的应用介绍
- Python原生爬虫 --- 50行代码爬取某直播网站主播名和人气值
- Elasticsearch个人学习笔记
- macOS Monterey 12.3 (21E230) 虚拟机 IOS 镜像
- iPhone 自动关机 原因 天气太冷
- 应用在生物医学领域中的NLP预训练语言模型(PubMedBERT)
- 示波器界面的中英文切换
- [SAS - TEMPLATE] ODS输出格式的定义一些小总结
- 校招面试京东Java岗,入职薪资18k,已拿offer
- Ubuntu安装时卡在安装界面怎么办
热门文章
- 如何使用mysql binlog 恢复数据
- k阶原点矩和中心距的理解
- node.js实现微信授权登录,最详细最简单小白教程。。
- 安卓9.0系统设备最完美激活Xposed框架的步骤
- 象棋 Uva1589
- 关于开发证书配置(Certificates Identifiers Provisioning Profiles)IOS发布(转)
- ​从逆风飞扬到“攻守”平衡,Aruba谋定2023
- 图像分割——边缘检测——LoG(Marr-Hildreth算法)(Matlab)
- 【学习笔记】积性函数
- 高防IP真的有用吗?