源代码参考
北京理工大学公开课《Python网络爬虫与信息提取》中的“中国大学排名爬虫”
源代码基础上:
(1)添加headers;
(2)观察该网站不同年份网址大同小异,所以可以选择(2016-2019)年的任意年直接爬取对应年份的数据。
(3)确定每次爬取“前多少所学校信息”,即前多少名。
import requests
from bs4 import BeautifulSoup
import bs4
def getHtmlText(url):
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
'Upgrade-Insecure-Requests': '1'
}
try:
r = requests.get(url, headers=headers)
r.raise_for_status()
r.encoding= r.apparent_encoding
#print(r.text)
return r.text
except:
return " "
def fillUnivList(ulist,html):
soup = BeautifulSoup(html, "html.parser")
for tr in soup.find('tbody').children:
if isinst