首页
Pyhton常见问题

分类

当前位置: 天天编程网 > 技术新闻 > Pyhton常见问题 >正文

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

更新时间:2023-08-09  作者:佚名   来源: 网络转载

Python爬虫练习:爬取800多所大学学校排名、星级等[Python常见问题]

前言

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

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

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:961562169

项目目标

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

目标网址

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

Python爬虫练习:爬取800多所大学学校排名、星级等[Python常见问题]

基本环境配置

python 3.6
pycharm

爬虫代码

导入工具

import requests
import parsel
import csv

请求网页数据

Python爬虫练习:爬取800多所大学学校排名、星级等[Python常见问题]

Python爬虫练习:爬取800多所大学学校排名、星级等[Python常见问题]

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)

Python爬虫练习:爬取800多所大学学校排名、星级等[Python常见问题]

保存数据

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

运行代码,效果如下图

Python爬虫练习:爬取800多所大学学校排名、星级等[Python常见问题]

上一篇:Python小数/浮点数(float)类型详解[Python常见问题] 下一篇:python3 之 天天生鲜 项目(初学者)3[Python常见问题]
小编推荐
快速导航更多>>
JavaScript 教程 HTML5 教程 CSS3 教程 jQuery 教程 Vue.js 教程 Node.js 教程 SQL 教程 C 教程 PHP 教程 Linux 教程 Docker 教程 Nginx 教程 Python 教程 Java 教程

天天编程网 版权所有

陕ICP备2023002928号-1