前言
国内大学最新排名,北大反超,浙大仅第四,中科大跌至第八
时隔五年,“双一流”大学即将迎来首次大考,这也是继改变高校评断标准之后,第一次即将以官方对外发布,自然是引来了许多人的关注。最近,有许多不同机构发布的国内高校排名,但彼此之间的差异很大,网友之间的争议也很大。
项目目标
爬取高三网大学排名,并保存
目标网址
代码语言:javascript复制http://m.gaosan.com/gaokao/265440.html
基本环境配置
python 3.6 pycharm
爬虫代码
导入工具
代码语言:javascript复制1import requests
2import parsel3import csv
请求网页数据
代码语言:javascript复制1url = 'http://m.gaosan.com/gaokao/265440.html'
2
3headers = {
4 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
5}
6response = requests.get(url=url, headers=headers)
7response.encoding = response.apparent_encoding
爬取数据
代码语言:javascript复制 1selector = parsel.Selector(response.text)
2trs = selector.css('#page tr')
3
4for tr in trs:
5 dit = {}
6 ranking = tr.css('td:nth-child(1)::text').get()
7 dit['名次'] = ranking
8 school = tr.css('td:nth-child(2)::text').get()
9 dit['学校名称'] = school
10 score = tr.css('td:nth-child(3)::text').get()
11 dit['综合得分'] = score
12 star = tr.css('td:nth-child(4)::text').get()
13 dit['星级排名'] = star
14 level = tr.css('td:nth-child(5)::text').get()
15 dit['办学层次'] = level
16 csv_writer.writerow(dit)
保存数据
代码语言:javascript复制1f = open('排名.csv', mode='a', encoding='utf-8', newline='')
2csv_writer = csv.DictWriter(f, fieldnames=['名次', '学校名称', '综合得分', '星级排名', '办学层次'])
3f.close()