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

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

私信小编01即可获取大量Python学习资料
项目目标爬取高三网大学排名,并保存
目标网址
http://m.gaosan.com/gaokao/265440.html
Python爬虫练习:爬取800多所大学学校排名、星级等

文章插图
 
基本环境配置
  • python 3.6 pycharm
爬虫代码导入工具
【Python爬虫练习:爬取800多所大学学校排名、星级等】import requestsimport parselimport csv请求网页数据
Python爬虫练习:爬取800多所大学学校排名、星级等

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

文章插图
 
?
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['名次'] = rankingschool = tr.css('td:nth-child(2)::text').get()dit['学校名称'] = schoolscore = tr.css('td:nth-child(3)::text').get()dit['综合得分'] = scorestar = tr.css('td:nth-child(4)::text').get()dit['星级排名'] = starlevel = tr.css('td:nth-child(5)::text').get()dit['办学层次'] = levelcsv_writer.writerow(dit)
Python爬虫练习:爬取800多所大学学校排名、星级等

文章插图
 
?
保存数据
f = open('排名.csv', mode='a', encoding='utf-8', newline='')csv_writer = csv.DictWriter(f, fieldnames=['名次', '学校名称', '综合得分', '星级排名', '办学层次'])f.close()运行代码,效果如下图
Python爬虫练习:爬取800多所大学学校排名、星级等

文章插图
 
?
Python爬虫练习:爬取800多所大学学校排名、星级等

文章插图
 
?
Python爬虫练习:爬取800多所大学学校排名、星级等

文章插图
 
?




    推荐阅读