前言
國內大學最新排名,北大反超,浙大僅第四,中科大跌至第八
時隔五年,“雙一流”大學即將迎來首次大考,這也是繼改變高校評斷標準之後,第一次即將以官方對外發布,自然是引來了許多人的關注。最近,有許多不同機構發佈的國內高校排名,但彼此之間的差異很大,網友之間的爭議也很大。
項目目標
爬取高三網大學排名,並保存
目標網址
基本環境配置
python 3.6 pycharm
爬蟲代碼
導入工具
新手學習,Python 教程/工具/方法/解疑+V:itz992
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()