【Python实战】2022年中国富豪榜出炉,首富竟是他......教你一键采集榜单并做可视化效果图(今天是拉仇恨的一天鸭~)

news2025/6/20 2:00:43

前言

哈喽,我是你们的栗子同学~

今天是拉仇恨的一天:

教大家一键采集(爬虫+数据分析基础实战)新CaiFu中国500富人榜,中国首富竟然是他......

所有文章完整的素材+源码都在👇👇

粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。

我看了看,翻了翻

和往年一样

依然没有找到我的名字

下面就是我给大家长脸的时候了,我这技术还是有丢丢用的给大家娱乐娱乐一下还是ojbK了

的。好了画布多不说,说多了都是泪,直接开始今天的内容吧~

正文

一、运行环境 

1)环境 

 python 3.8 运行代码 pycharm 辅助敲代码 

爬虫:    Python 3.8    Pycharm数据分析:    Python 3.8    jupyter notebook

2)模块使用

爬虫:

 requests >>> pip install requests  数据请求 

 csv <表格文件> 内置模块 保存数据 

数据分析 : 

pandas 

pyecharts 

 win + R 输入cmd 输入安装命令 pip install 模块名

 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)

3)第三方模块安装 

pip install 模块名 镜像源安装 pip install -i pypi.douban.com/simple/ +模块名 Python 安

装包 安装教程视频 pycharm 社区版 专业版 及 激活码免费找我拿即可 ! 

 (各种版本的都有,可以一整套直接分享滴~) 

二、爬虫思路

1)爬虫采集网上数据资源: 

 网址: https://www.xcf.cn/zhuanti/ztzz/hdzt1/500frb/index.html

2)数据来源分析:

<重要点> 通过开发者工具进行抓包分析 --> 数据所对应链接地址是那个 

 1. 打开开发者工具: F12 / fn+F12 / 右键点击检查选择network 。

 2. 点击第二页: 数据所对应: 

https://service.ikuyu.cn/XinCaiFu2/pcremoting/bdListAction.do?

method=getPage&callback=jsonpCallback&sortBy=&order=&type=4&keyword=&pa

geSize=15&year=2022&pageNo=2&from=jsonp&_=1680086650173 

3)代码实现步骤: <固定模板>

 1. 发送请求, 模拟浏览器对于url地址发送请求 

 2. 获取数据, 获取服务器返回响应数据 

 3. 解析数据, 提取我们想要的数据内容 

 4. 保存数据, 把数据保存表格文件里面 Excel csv 数据库 json文件 文本也可以

三、代码展示

爬虫主程序——

"""
# 导入数据数据请求模块
import requests
# 导入正则模块
import re
# 导入json
import json
# 导入格式化输出模块
from pprint import pprint
# 导入csv模块
import csv


# 创建文件 open函数
f = open('data.csv', mode='a', encoding='utf-8', newline='')
# 配置f文件对象 fieldnames 字段名 表头
csv_writer = csv.DictWriter(f, fieldnames=[
    '姓名',
    '财富(亿元)',
    '主要公司',
    '相关行业',
    '公司总部',
    '性别',
    '年龄',
])
# 写入表头
csv_writer.writeheader()
"""
1. 发送请求, 模拟浏览器对于url地址发送请求
    - 请求链接 <url地址>
        找到之后直接复制
    - 模拟浏览器 <防止反爬>
        headers 请求头 --> 复制
            I. 字典数据类型 <构建完整键值对> 
    
    - 发送请求 <请求方式方法>
        get --> 开发者工具显示 请求方法GET
想要本节课代码吗? 你想要本节课录播吗?
    课堂多发言 多互动 --> 课后给可以发给你

<Response [200]> 响应对象 表示请求成功

多页数据采集:
    分析请求url地址变化规律
        根据变化规律, 构建每一页请求链接
"""
for page in range(1, 35):
    # 请求链接
    url = f'https://service.ikuyu.cn/XinCaiFu2/pcremoting/bdListAction.do?method=getPage&callback=jsonpCallback&sortBy=&order=&type=4&keyword=&pageSize=15&year=2022&pageNo={page}&from=jsonp&_=1680086650173'
    # 模拟浏览器
    headers = {
        # User-Agent 用户代理, 表示浏览器基本身份信息
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }
    # 发送请求
    response = requests.get(url=url, headers=headers)
    """
    2. 获取数据, 获取服务器返回响应数据
        知识点:
            - response.text 和 response.json() 区别
            - 正则表达式提取数据
                正则表达返回列表数据, [0] 提取列表索引位置为0的元素, 也就是提取第一个元素
            - 列表索引取值
            - json模块的使用
        
    3. 解析数据, 提取我们想要的数据内容
        字典取值
        print(index) # 打印字典数据 返回一行
        pprint(index) # 打印字典数据 返回多行
    
    .*? --> 通配符 可以匹配任意字符 (除了\n换行符以外)
    """
    # 正则匹配数据
    html_data = re.findall('jsonpCallback\((.*?)\)', response.text)[0]
    # 转换数据类型
    json_data = json.loads(html_data)
    # for循环遍历, 提取列表元素
    for index in json_data['data']['rows']:
        # 创建字典 --> 字典取值
        dit = {
            '姓名': index['name'],
            '财富(亿元)': index['assets'],
            '主要公司': index['company'],
            '相关行业': index['industry'],
            '公司总部': index['addr'],
            '性别': index['sex'],
            '年龄': index['age'],
        }
        # 写入数据
        csv_writer.writerow(dit)
        print(dit)

四、效果展示

1)爬虫效果

​2)保存在Excel

3)数据分析效果

可视化导入数据

性别分布情况可视化

总结

没想到中国首富竟是钟睒睒,还是大家耳熟能详的农夫山泉的总经理鸭~

知道了新知识,哈哈哈,好啦~今天的内容到这里就写完啦,我们下期再见!

✨完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~

 🔨推荐往期文章——

项目1.3 高清壁纸爬虫

【Python实战】美哭你的极品壁纸推荐|1800+壁纸自动换?美女动漫随心选(高清无码)

项目0.9  【Python实战】WIFI密码小工具,甩万能钥匙十条街,WIFI任意连哦~(附源码)

项目1.0  【Python实战】再分享一款商品秒杀小工具,我已经把压箱底的宝贝拿出来啦~

项目0.1  宝藏拼图神秘上线,三种玩法刷爆朋友圈—玩家直呼太上瘾了。

🎁文章汇总——

Python文章合集 | (入门到实战、游戏、Turtle、案例等)

(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/426375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习入门之感知机

一. 感知机的定义 感知机接收多个输入信号&#xff0c;输出一个信号。这里所说的“信号”可以想象成电流或河流那样具备“流动性”的东西。像电流流过导线&#xff0c;向前方输送电子一样&#xff0c;感知机的信号也会形成流&#xff0c;向前方输送信息。但是&#xff0c;和实…

后缀数组的应用:在哪个位置插入字符串使得字典序最大

题目描述 给定两个字符串 str1 和 str2&#xff0c;想把 str2 整体插入到 str1 中某个位置&#xff0c;形成最大的字典序&#xff0c;返回字典序最大的结果。其中 str1 长度为 NNN&#xff0c; str2 长度为 MMM&#xff0c;且 N>>MN >> MN>>M。 思路分析 …

【排序算法 下】带你手撕常见排序 (冒泡,快排,归并排序) (动图详解)

欢迎来到 Claffic 的博客 &#x1f49e;&#x1f49e;&#x1f49e; “只要有花可开&#xff0c;就不允许生命与黯淡为伍。” 前言&#xff1a; 承接上篇&#xff0c;继续带大家手撕常见排序算法&#xff0c;这次讲剩余的两类&#xff1a;交换排序和归并排序。 注&#xff1a;…

C++——模板初阶与泛型编程

文章目录&#x1f490;专栏导读&#x1f490;文章导读&#x1f337;引例&#x1f337;函数模板&#x1f33a;函数模板的概念&#x1f33a;函数模板的格式&#x1f337;函数模板的原理&#x1f337;函数模板的实例化&#x1f33a;隐式实例化&#x1f33a;显式实例化&#x1f33a…

Maven安装

目录 1.Maven安装 1.1下载 1.2 安装步骤 1、解压 apache-maven-3.6.1-bin.zip&#xff08;解压即安装&#xff09; 2、配置本地仓库 3、配置阿里云私服 4、配置环境变量 1.3 安装检测 1.Maven安装 认识了Maven后&#xff0c;我们就要开始使用Maven了&#xff0c;那么首…

基于OpenCv的图像分割(分水岭算法)

文章目录图像分割distanceTransform()connectedComponents()watershed()查看图像的矩阵图像分割 图像分割对于图像处理和计算机视觉领域非常重要&#xff0c;可以用于对象识别、图像分析、图像压缩等应用。 注意&#xff1a;通常我们把前景目标的灰度值设为255&#xff0c;即白…

网络原理与网络通信

目录 网络互连原理 网络通信 IP地址和端口号 网络协议 五元组 协议分层 OSI七层模型 TCP/IP五层模型 封装和分用 网络互连原理 计算机在最开始的时候是没有网络的&#xff0c;每个计算机之间相互独立。这样处理信息就非常的麻烦&#xff0c;为了能够更高效的利用计算…

一个基于Java线程池管理的开源框架Hippo4j实践

文章目录概述定义线程池痛点功能框架概览架构部署Docker安装二进制安装运行模式依赖配置中心接入流程个性化配置线程池监控无中间件依赖接入流程服务端配置三方框架线程池适配拒绝策略自定义概述 定义 Hippo4j 官网地址 https://hippo4j.cn/ 最新版本1.5.0 Hippo4j 官网文档地…

硬件系统工程师宝典(17)-----你的PCB符合工艺要求吗?

各位同学大家好&#xff0c;欢迎继续做客电子工程学习圈&#xff0c;今天我们继续来讲这本书&#xff0c;硬件系统工程师宝典。上篇我们说到PCB设计中板子要符合EMC&#xff0c;信号的走线要平顺&#xff0c;信号回流阻抗尽量小。今天我们开始看看板子在生产制造时的工艺问题。…

【安全防御】防火墙(二)

目录 1、防火墙如何处理双通道协议 2、防火墙如何处理nat 3、防火墙支持哪些NAT&#xff0c;主要应用的场景是什么&#xff1f; 4、当内网PC通过公网域名解析访问内网服务器的时候&#xff0c;会存在什么问题&#xff0c;如何解决&#xff1f;请详细说明 5.防火墙使用VRRP…

面试题总结-JS

文章目录一、JS 系列1、原型、原型链2、闭包3、this指向4、call、 apply、 bind 的作用与区别&#xff1f;5、数组扁平化6、var、let、const 区别7、对称加密和不对称加密的区别8、js 的栈和堆9、对象的深拷贝和浅拷贝10、浏览器的事件循环机制11、宏任务和微任务12、script 标…

StringBuilder、StringBuffer、String的区别

StringBuilder与StringBuffer的append方法源码分析 #mermaid-svg-N8145OzAyMWzlewt {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-N8145OzAyMWzlewt .error-icon{fill:#552222;}#mermaid-svg-N8145OzAyMWzlewt .er…

C#基础学习--泛型

目录 C#中的泛型 泛型类 声明泛型类 创建构造函数 创建变量和实例 类型参数的约束 Where 子句 泛型方法 声明泛型方法 ​编辑 调用泛型方法 扩展方法和泛型类 泛型结构 泛型委托 泛型接口 协变 逆变 接口的协变和逆变 C#中的泛型 泛型允许我们声明 类型参数化 的代码&…

Jetpack Compose大师乘势而上,创建引人入胜和直观的UI;实用技巧和技术

简述 Jetpack Compose 是 Android 上的一种全新的 UI 工具箱&#xff0c;旨在简化 Android UI 开发流程&#xff0c;提高开发效率和应用性能&#xff0c;并且提供更直观、更灵活、更强大的 UI 定义方式。 Jetpack Compose 提供了一套新的声明式 UI 编程模型&#xff0c;采用 …

【Redis】多级缓存(nginx缓存、redis缓存及tomcat缓存)

【Redis】多级缓存 文章目录【Redis】多级缓存1. 传统缓存的问题2. 多级缓存方案2.1 JVM进程缓存2.1.1 本地进程缓存2.1.2 Caffeine2.2 Nginx缓存2.2.1 准备工作2.2.2 请求参数处理2.2.3 nginx发送http请求tomcat2.2.3.1 封装http查询函数2.2.3.2 使用http函数查询数据2.2.4 ng…

Huffman 编码

1.Huffman编码 1952年提出一种编码方法&#xff0c;该方法完全依据字符出现概率来构造异字头的平均长度最短的码字&#xff0c;有时称之为最佳编码&#xff0c;一般就叫做Huffman编码(有时也称为霍夫曼编码)。 2.Huffman树 树是一种重要的非线性数据结构&#xff0c;它是数据元…

​2023年十大目标检测模型!

“目标检测是计算机视觉中最令人兴奋和具有挑战性的问题之一&#xff0c;深度学习已经成为解决该问题的强大工具。”—Dr. Liang-Chieh Chen目标检测是计算机视觉中的基础任务&#xff0c;它涉及在图像中识别和定位目标。深度学习已经革新了目标检测&#xff0c;使得在图像和视…

【CV大模型SAM(Segment-Anything)】真是太强大了,分割一切的SAM大模型使用方法:可通过不同的提示得到想要的分割目标

目录前言安装运行环境SAM模型的使用方法导入相关库并定义显示函数导入待分割图片使用不同提示方法进行目标分割方法一&#xff1a;使用单个提示点进行目标分割方法二&#xff1a;使用多个提示点进行目标分割方法三&#xff1a;用方框指定一个目标进行分割方式四&#xff1a;将点…

文件操作和IO—javaEE

文章目录1.文件1.1文件系统的结构1.2java中的文件操作&#xff08;metadata的操作&#xff09;2.io操作2.1定义2.2io划分2.3java的io流之输入流2.4java的io流之输出流1.文件 文件包含数据本身和文件的头信息&#xff08;metadata&#xff09;&#xff0c;文件的头信息包括文件…

VSCode的C/C++编译调试环境搭建(亲测有效)

文章目录前言1.安装VSCode和mingw642.配置环境变量3.配置VSCode的运行环境3.1设置CodeRunner3.2设置C/C4.调试环境配置前言 这片博客挺早前就写好了&#xff0c;一直忘记发了&#xff0c;写这篇博客之前自己配的时候也试过很多博客&#xff0c;但无一例外&#xff0c;都各种js…