手把手教你使用Python网络爬虫获取基金信息

2023-11-19

一、前言

前几天有个粉丝找我获取基金信息,这里拿出来分享一下,感兴趣的小伙伴们,也可以积极尝试。

二、数据获取

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

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

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

这样就降低了抓取难度了。通过浏览器抓包的方法,可以看到具体的请求参数,而且可以看到请求参数中只有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进阶者。这篇文章主要分享了使用Python网络爬虫获取基金数据信息,这个项目不算太难,里边稍微有点小坑,欢迎大家积极尝试,如果有遇到问题,请添加我好友,我帮助解决。

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

最后需要本文代码的小伙伴们,可以在文末获取~!

 Python经验分享

学好 Python 不论是就业数据分析还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

Python学习路线

这里把Python常用的技术点做了整理,有各个领域的知识点汇总,可以按照上面的知识点找对应的学习资源。
在这里插入图片描述

学习软件

Python常用的开发软件,会给大家节省很多时间。
在这里插入图片描述

学习视频

编程学习一定要多多看视频,书籍和视频结合起来学习才能事半功倍。
在这里插入图片描述

100道练习题

在这里插入图片描述

实战案例

光学理论是没用的,学习编程切忌纸上谈兵,一定要动手实操,将自己学到的知识运用到实际当中。
在这里插入图片描述
最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手把手教你使用Python网络爬虫获取基金信息 的相关文章

随机推荐

  • C++ 如何将一个大的整数 拆分0到9单个数字

    如何将一个大的整数拆分成单个整数 第一种解决方案 第二种解决方案 分享思路 希望能帮到你 第一种解决方案 纯算法的方式 完整数 int value 123456 拆分后的个位数 int sub 拆分 while value 得到当前整数 尾
  • ORB-SLAM3---imu相关

    1 IMU简介及参数说明 2 预积分推导 纸老虎 1 反对称矩阵 2 反对称矩阵反过来 3 旋转向量到旋转矩阵 上面是积分 下面是预积分 3 噪声分离
  • 【超详细!】Snort在Win-7下的安装配置及可视化

    做学校实验做到秃头的产物 记录一下我一边考试一边实验的疯狂期末周 前排提示本人是个看到修改一大堆配置就头疼的菜狗 所以这篇教程尽可能减少了修改配置 包含了本人遇到的坑 解决方案 我尽力了朋友们 一 前期资源准备 1 win 7环境虚拟机 这
  • JavaScript常见调试方法

    编辑导语 javascript调试方法 常见使用alert和console来定位出错和输出的结果是否是想要的 在chrome中 还可以使用断点来看运行的情况等 本文介绍了比较全面的调试方法 你知道console table console
  • 虚函数与纯虚函数定义及区别,抽象类

    目录 虚函数和纯虚函数的区别 二 虚函数的实现机制 三 构造函数 析构函数是否需要定义成虚函数 四 构造函数和析构函数中能否调用虚函数 虚函数与纯虚函数定义 一 定义虚函数 被 virtual 关键字修饰的成员函数 纯虚函数 在类中声明虚函
  • vant4 自定义垂直步骤条时间线组件几行css代码改造完成(附效果图)

    直接上效果图片
  • Android模拟器的ip获取以及模拟器之间socket通信

    作者 李波 实现网络五子棋时用到了两个设备间的Socket通信 如果使用真机调试比较麻烦 用两个模拟器之间进行通信会比较方便 首先要获得的模拟器的IP地址 在本机上启动两个模拟器 emulator 5554 emulator 5556查看模
  • Vulhub Nginx 文件名逻辑漏洞复现

    漏洞介绍 漏洞编号 CVE 2013 4547 漏洞原理 Nginx 在遇到 00 空字节 时 与后端 FastCGI 处理不一致 导致可以在图片中嵌入 PHP 代码 然后通过访问 xxx jpg 00 php 来执行其中的代码 影响版本
  • node常用指令

    node 进入node运行环境 node v 查看node的版本 node 文件名 使用node环境运行js文件 ctrl c 退出指令 cd 返回上一级路径 cd 文件夹名 进入当前目录的某个文件夹 dir 显示当前目录下的所有的文件夹和
  • 2021-06-15——这56个免费资源网站,能让你永久告别资源付费!

    一 视频类 1 预告片世界 https www yugaopian cn 2 33台词 http 33 agilestudio cn 3 MixKit https mixkit co free stock video 4 Pexel htt
  • 解决idea运行springboot项目,项目不运行在Run Dashboard

    今天在运行项目时 发现项目没有自动运行在run dashboard面板中 而是在run面板中运行 解决方案 1 点击编辑configurations 2 首先在Application中选中你需要添加的项目 点击加号 选springboot
  • 基于SpringBoot实现人脸识别功能

    前言 去年在公司参与了一个某某机场建设智能机场的一个项目 人脸登机是其中的一个功能模块 当时只是写了后台的接口 调用人脸识别设备的api 给闸机回传数据信号 以保障该功能的正常使用 当时因为项目进度紧张 手里还有其他项目赶进度 也就没时间去
  • 【网格问题】leetcode1020.飞地的数量

    题目 给你一个大小为 m x n 的二进制矩阵 grid 其中 0 表示一个海洋单元格 1 表示一个陆地单元格 一次 移动 是指从一个陆地单元格走到另一个相邻 上 下 左 右 的陆地单元格或跨过 grid 的边界 返回网格中 无法 在任意次
  • ML302 4G模块 HTTP AT指令使用流程

    一 首先入网 18 34 00 684 发 AT CGACT 1 1 18 34 00 699 收 AT CGACT 1 1 18 34 00 885 收 CGACT 1 1 OK 二 初始化模块的HTTP功能 18 34 11 214 发
  • 整型和IP地址之间的转换(Java实现)

    整型和IP地址之间的转换 Java实现 在Java编程中 有时我们需要将整型数据与IP地址之间进行转换 整型和IP地址表示的是不同的数据类型 但是它们之间可以相互转换 下面我将为你提供一种在Java中实现整型与IP地址互相转换的方法 将整型
  • java中$_学习笔记-Java中的$符

    JavaEE中 符号出现在两个地方 一个是前端jQuery中的 一个是后端JSP中的EL表达式 一 中放不同的东西代表不同的含义 1 function 表示文档加载完成后执行函数 Javascript是一种动态脚本语言 用来修饰HTML标签
  • Flex布局详细介绍

    flex布局 1 概念 Flex是Flexible Box的缩写 意为 弹性布局 用来为盒状模型提供最大的灵活性 1 1任何一个容器都可以指定为Flex布局 box display flex 1 2行内元素也可以使用Flex布局 box d
  • python scrapy爬取网站数据(一)

    框架介绍 scrapy中文文档 scrapy是用python实现的一个框架 用于爬取网站数据 使用了twisted异步网络框架 可以加快下载的速度 scrapy的架构图 可以看到主要包括scheduler Downloader Spider
  • 【SSH网上商城项目实战20】在线支付平台的介绍

    之前已经完成了首页的显示 用户添加购物车 确认订单等功能 下面就是支付功能的开发了 用户确认了订单后会直接跳转到支付页面进行在线支付 在线支付需要第三方的接口 这一节主要介绍一些关于第三方支付的内容 从下一节开始 我们真正开发在线支付模块
  • 手把手教你使用Python网络爬虫获取基金信息

    一 前言 前几天有个粉丝找我获取基金信息 这里拿出来分享一下 感兴趣的小伙伴们 也可以积极尝试 二 数据获取 这里我们的目标网站是某基金官网 需要抓取的数据如下图所示 可以看到上图中基金代码那一列 有不同的数字 随机点击一个 可以进入到基金