外链论坛

 找回密码
 立即注册
搜索
查看: 53|回复: 0

Python爬虫练习:爬取800多所大学学校排名、星级等

[复制链接]

2848

主题

182

回帖

9920万

积分

论坛元老

Rank: 8Rank: 8

积分
99209814
发表于 2024-8-18 12:19:25 | 显示全部楼层 |阅读模式

前言

国内大学最新排名,北大反超,浙大仅第四,中科大跌至第八

时隔五年,“双一流”大学即将迎来首次大考,这是继改变高校评断标准之后,第1次即将以官方对外发布,自然是引来了许多人的关注。近期,有许多区别公司发布的国内高校排名,但彼此之间的差异很大,网友之间的争议很大。

私信博主01就可获取海量Python学习资料

项目目的

爬取高三网大学排名,并保留

目的网址

http://m.gaosan.com/gaokao/265440.html

基本环境配置

python 3.6 pycharm

爬虫代码

导入工具

import requests import parsel import csv

请求网页数据

url = http://m.gaosan.com/gaokao/265440.html headers = { User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 } response = requests.get(url=url, headers=headers) response.encoding = response.apparent_encoding

爬取数据

selector = parsel.Selector(response.text) trs = selector.css(#page tr) for tr in trs: dit = {} ranking = tr.css(td:nth-child(1)::text).get() dit[名次] = ranking school = tr.css(td:nth-child(2)::text).get() dit[学校名叫作] = school score = tr.css(td:nth-child(3)::text).get() dit[综合得分] = score star = tr.css(td:nth-child(4)::text).get() dit[星级排名] = star level = tr.css(td:nth-child(5)::text).get() dit[办学层次] = level csv_writer.writerow(dit)

保留数据

f = open(排名.csv, mode=a, encoding=utf-8, newline=) csv_writer = csv.DictWriter(f, fieldnames=[名次, 学校名叫作, 综合得分, 星级排名, 办学层次]) f.close()

运行代码,效果如下图

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-10-18 18:21 , Processed in 0.067388 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.