Python爬取胡润百富榜榜单,半小时掌握!

一、python爬取

1.1 爬取目标

代码是爬的《胡润2022榜单》,想爬取《胡润2023榜单》的同学,只需把URL中的 AA777E5L 改为 16BKYYA3 即可。以后年份同理。

本次爬取的目标是,202X年胡润百富榜的榜单数据:

https://www.hurun.net/zh-CN/Rank/HsRankDetails?pagetype=rich

页面上能看到的信息有:

排名、财富值、排名变化、个人信息(姓名、性别、年龄)、企业信息(企业名称、所属行业)

页面结构很整齐,数据也很完整,非常适合爬取和数据分析使用。

1.2 分析页面

老规矩,打开Chrome浏览器,按F12进入开发者模式,依次点击Network->Fetch/XHR,准备好捕获ajax请求。

重新刷新一下页面,发现一条请求:

在预览界面,看到一共20条(0~19)返回数据,正好对应页面上的20个富豪信息。

所以,后面编写爬取代码,针对这个地址发送请求就可以了。

另外,关于翻页,我的个人习惯是,选择每页显示最多的数据量,这样能保证少翻页几次,少发送几次请求,防止被对端服务器反爬。

所以,每页选择200条数据:

以翻到第3页为例,url中的offset(偏移量)为400,limit(每页的条数)为200,所以,可得出规律:

offset = (page - 1) * 200

limit = 200

下面开始编写爬取代码。

1.3 爬取代码

首先,导入需要用到的库:

import requests  # 发送请求
import pandas as pd  # 存入excel数据
from time import sleep  # 等待间隔,防止反爬
import random  # 随机等待

根据1.2章节分析得出的结论,编写逻辑代码,向页面发送请求:

# 循环请求1-15页
for page in range(1, 16):
	# 胡润百富榜地址
	sleep_seconds = random.uniform(1, 2)
	print('开始等待{}秒'.format(sleep_seconds))
	sleep(sleep_seconds)
	print('开始爬取第{}页'.format(page))
	offset = (page - 1) * 200
	url = 'https://www.hurun.net/zh-CN/Rank/HsRankDetailsList?num=YUBAO34E&search=&offset={}&limit=200'.format(offse
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值