python爬虫之场内ETF基金获取

作者:??斜月???? 时间:2021-08-18 17:51:34 

1 前言

之前已经介绍了基金的变动信息,但是这些基金都是属于场外的,今天我们要介绍的是一个带门槛的投资产品-ETF。只有开立证券账户的玩家才能入局,ETF 是一种场内交易型基金,可以在盘中进行交易,交易性比场外基金强一点,那么闲言少叙,马上开始介绍正题。

2 ETF列表和简称

ETF基金变动情况和基本情况的获取方式和场外基金是一样的,怎么获取比较全面的ETF基金列表呢?

# 获取基金信息的列表
http://fund.eastmoney.com/data/fbsfundranking.html

以下是ETF信息列表所展示的信息:

python爬虫之场内ETF基金获取

ETF 在场内进行交易时,一般都有一个简称,获取简称的方式比较麻烦一点,需要访问一个页面,然后通过 bs4 去解析元素的方式去获取。

#经过分析,我们可以发现基金代码前缀就代表这其市场,5上海市场 1-深圳市场,以地产ETF和光伏ETF为例
http://quote.eastmoney.com/sz159707.html
http://quote.eastmoney.com/sh515790.html

python爬虫之场内ETF基金获取

3 ETF 信息获取

3.1 ETF列表信获取

ETF 列表信息我们通过访问列表发现在访问列表数据时,是请求了一个api接口到了后台,然后返回给前端一个响应报文。 

python爬虫之场内ETF基金获取

http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=fb&ft=ct&rs=&gs=0&sc=zzf&st=desc&pi=1&pn=50

看到这里就觉得很开心,不用解析 html 文件了,当通过request使用get 方式获取数据时,发现竟然没有返回无访问权限,我想可能是没有携带cookie的原因,但是我也没有登录呀,可能是请求头需要携带一些页面信息,于是,经过尝试,最终确定了需要携带的信息为:

headers = {
   'Host': 'fund.eastmoney.com',
   'Referer': 'http://fund.eastmoney.com/data/fbsfundranking.html'
}

最终我们获取基金列表的代码应该这样写:

python爬虫之场内ETF基金获取

调试后获取到的结果如下图所示:

python爬虫之场内ETF基金获取

3.2 获取基金的简称

获取基金的简称相对比较简单,通过分析发现,简称所在的位置在 <span class="quote_title_0 wryh">光伏ETF</span> 中,通过访问页面获取元素即可拿到简称的描述。

具体的代码如下图所示:

python爬虫之场内ETF基金获取

4 最终结果展示

经过获取基金列表和获取基金简称两个步骤,我们获取到了最终的结果如下图所示,已经达成了需要获取信息的目的:

python爬虫之场内ETF基金获取

后续我们会把基金信息和ETF 信息进行合并存入数据库中,方便后续的数据分析。

来源:https://juejin.cn/post/7032871678053089310

标签:python,场内,ETF,基金,获取
0
投稿

猜你喜欢

  • 完美解决phpdoc导出文档中@package的warning及Error的错误

    2023-10-07 10:07:49
  • Python实现的爬取百度文库功能示例

    2022-09-08 22:34:46
  • jQuery 1.3的VS智能提示下载

    2009-01-18 12:54:00
  • Python自动发送邮件的方法实例总结

    2023-05-21 02:53:42
  • python 获取微信好友列表的方法(微信web)

    2022-02-20 10:05:21
  • 人工智能学习pyTorch的ResNet残差模块示例详解

    2022-05-04 21:45:22
  • Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程

    2023-04-03 12:13:33
  • EXECUTE IMMEDIATE用法小结

    2009-09-26 18:32:00
  • 关于Flask 视图介绍

    2022-10-21 15:07:34
  • python中plot实现即时数据动态显示方法

    2021-04-20 22:09:18
  • Python安装第三方库的3种方法

    2022-02-03 03:10:47
  • python matplotlib imshow热图坐标替换/映射实例

    2023-05-04 03:46:54
  • tensorflow 模型权重导出实例

    2022-10-14 06:25:25
  • javascript 通用滑动门tab类

    2023-08-05 09:42:25
  • python使用__slots__让你的代码更加节省内存

    2023-03-15 06:33:57
  • 学会迭代器设计模式,帮你大幅提升python性能

    2023-01-22 12:36:01
  • python random库的简单使用demo

    2023-03-03 04:31:32
  • 一个完美网站的101项指标.第七部分.W3C标准

    2008-03-01 09:31:00
  • Python3 JSON编码解码方法详解

    2023-10-12 15:46:43
  • Flask 使用工厂模式

    2021-10-01 01:52:58
  • asp之家 网络编程 m.aspxhome.com