真香啊,手把手教你使用 Python 获取基金信息

大家好,前几天有个粉丝找我获取基金信息,这里拿出来分享一下,感兴趣的小伙伴们,也可以积极尝试。喜欢记得收藏、关注、点赞。

注:文末提供完整资料、代码
图片

数据获取

这里我们的目标网站是某基金官网,需要抓取的数据如下图所示。

图片

可以看到上图中基金代码那一列,有不同的数字,随机点击一个,可以进入到基金详情页,链接也非常有规律,以基金代码作为标志的。

其实这个网站倒是不难,数据什么的,都没有加密,网页上的信息,在源码中都可以直接看到。

图片

这样就降低了抓取难度了。通过浏览器抓包的方法,可以看到具体的请求参数,而且可以看到请求参数中只有pi在变化,而这个值恰好对应的是页面,直接构造请求参数就可以了。

图片

代码实现过程

找到数据源之后,接下来就是代码实现了,一起来看看吧,这里给出部分关键代码。

获取股票id数据
response = requests.get(url, headers=headers, params=params, verify=False)
    pattern = re.compile(r'.*?"(?P<items>.*?)".*?', re.S)
    result = re.finditer(pattern, response.text)
    ids = []
    for item in result:
        # print(item.group('items'))
        gp_id = item.group('items').split(',')[0]

结果如下图所示:

图片

之后构造详情页链接,获取详情页的基金信息,关键代码如下:

response = requests.get(url, headers=headers)
response.encoding = response.apparent_encoding
selectors = etree.HTML(response.text)
danweijingzhi1 = selectors.xpath('//dl[@class="dataItem02"]/dd[1]/span[1]/text()')[0]
danweijingzhi2 = selectors.xpath('//dl[@class="dataItem02"]/dd[1]/span[2]/text()')[0]
leijijingzhi = selectors.xpath('//dl[@class="dataItem03"]/dd[1]/span/text()')[0]
lst = selectors.xpath('//div[@class="infoOfFund"]/table//text()')

结果如下图所示:

图片

将具体的信息做相应的字符串处理,然后保存到csv文件中,结果如下图所示:

图片

有了这个,你可以做进一步的统计和数据分析了。

总结

这篇文章主要分享了使用Python网络爬虫获取基金数据信息,这个项目不算太难,里边稍微有点小坑,欢迎大家积极尝试。

这篇文章主要是以【股票型】的分类做了抓取,其他的类型,我就没做了,欢迎大家尝试,其实逻辑都是一样的,改下参数就可以了。

联系方式

目前开通了技术交流群,群友已超过3000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式1、添加微信号:dkl88191,备注:来自CSDN
  • 方式2、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
串口调试助手是一种常用的工具,可以用于检验或验证串口设备的通讯功能。Python是一种免费的编程语言,可以用来写串口调试助手。 手把手你如何使用Python写串口调试助手的步骤如下: 1. 安装Python环境:Python可以在官网下载,下载完成后点击安装即可。同时要安装pyserial库,使用pip install pyserial命令即可完成安装。 2. 导入pyserial库:为了能够使用串口功能,需要导入pyserial库。导入库的命令如下: import serial 3. 设置串口参数:在打开串口之前要设置串口的参数,如波特率、数据位、校验位、停止位等等。设置的命令如下: serial.Serial(“COMx”, buadrate, bytesize, parity, stopbits) 其中,COMx是串口号,baudrate是波特率,bytesize是数据位,parity是校验位,stopbits是停止位。 4. 打开串口:打开串口之后,可以使用串口进行数据的发送和接收。打开串口的命令如下: ser = serial.Serial() ser.port = “COMx” ser.open() 5. 读取串口数据:使用Python读取串口数据可以使用serial.Serial.readline()命令。 data = ser.readline() 6. 发送串口数据:使用Python发送串口数据可以使用serial.Serial.write()命令。 ser.write(“data”) 7. 关闭串口:使用完串口后,要及时关闭串口,释放资源。关闭串口的命令如下: ser.close() 上述为了Python写串口调试助手的基本步骤,详细及优化功能需要根据实际情况编写代码实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值