爬虫案例:爬取世界大学排行榜,做数据可视化"/>
Python爬虫案例:爬取世界大学排行榜,做数据可视化
前言
闲的一匹,高三生没多久就要高考了(还有四个月)也是快了,咱来看看世界大学的排行榜,采集一下,做个可视化~
看看有没有你心仪的学校,嘿嘿
知识点
- 动态数据抓包
- requests发送请求
- 结构化+非结构化数据解析
开发环境
- python 3.8 运行代码
- pycharm 2021.2 辅助敲代码
- requests 第三方模块 pip install 模块名
实现代码
模块
import requests # 发送请求 第三方模块
import re
import csv
def replace(str):str = re.sub('<.*?>', '', str)return strf = open('排名.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.writer(f)
url = 'https://*****/sites/default/files/qs-rankings-data/cn/2057712.txt?_=1669724480772'
1. 发送请求
需要源码 文末名片领取~
response = requests.get(url)
2. 获取数据
# .text: 获取文本数据的
# .json(): 获取 {}/[] 所包裹的数据 字符串类型 ==> 字典/列表 Python基础里面的数据容器
# .content: 获取 音频/视频/图片 数据的
json_data = response.json()
3. 解析数据 提取数据
data_list = json_data['data']
for data in data_list:country = data['country']title = replace(data['title'])ind_0 = replace(data['ind_0'])ind_1 = replace(data['ind_1'])ind_2 = replace(data['ind_2'])rank_0 = data['rank_0']rank_d_0 = replace(data['rank_d_0'])rank_d_1 = replace(data['rank_d_1'])score = data['score']region = data['region']print(country, title, ind_0, ind_1, ind_2, rank_0, rank_d_0, rank_d_1, score, region)
4. 保存数据
csv_writer.writerow([country, title, ind_0, ind_1, ind_2, rank_0, rank_d_0, rank_d_1, score, region])
效果
更多推荐
Python爬虫案例:爬取世界大学排行榜,做数据可视化
发布评论