前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫练习:爬取800多所大学学校排名、星级等

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

作者头像
松鼠爱吃饼干
发布2020-10-09 14:32:30
8140
发布2020-10-09 14:32:30
举报
文章被收录于专栏:Python分享Python分享

前言

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

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

项目目标

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

目标网址

代码语言: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()

运行代码,效果如下图

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 松鼠爱吃饼干 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 项目目标
  • 目标网址
  • 基本环境配置
  • 爬虫代码
  • 导入工具
  • 请求网页数据
  • 爬取数据
  • 保存数据
  • 运行代码,效果如下图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档