中国部分大学排名爬虫
目标网站:http://www.zuihaodaxue.com/zuihaodaxuepaiming2016.html
目的:爬取目标网站上中国大学的排名
代码如下:
1 import requests#引入requests库 2 from bs4 import BeautifulSoup 3 import bs4#引入bs4库 4 def getHTMLText(url):#获得网页内容的函数 5 try: 6 r=requests.get(url,timeout=30)#得到网页内容 7 r.raise_for_status()#来产生异常信息,在方法内部判断r.status_code是否等于200,不需要增加额外的if语句,该语句便于利用try-except进行异常处理 8 r.encoding=r.apparent_encoding#修改编码 9 return r.text#返回文本类 10 except: 11 return "" 12 13 def fillUnivList(ulist,html):#将页面放到一个列表中的函数 14 soup = BeautifulSoup(html,"html.parser")#煲汤.... 15 for tr in soup.find('tbody').children:#遍历查找tbody标签 16 if isinstance(tr,bs4.element.Tag):#类型判断,如果不是tag类型,将被过滤 17 tds = tr('td')#将td标签存为一个列表类型tds 18 ulist.append([tds[0].string,tds[1].string,tds[2].string])#增加对应字段 19 20 21 def printUnivList(ulist,num):#输出打印函数,格式化输出 22 print("{:^10}\t{:^6}\t{:^10}".format("排名","学校名称","总分"))#打印表头 23 for i in range(num):#采用循环实现 24 u= ulist[i] 25 print("{:^10}\t{:^6}\t{:^10}".format(u[0],u[1],u[2])) 26 27 def writetxt(ulist,num):#储存到txt文件,E盘下自动生成中国大学排名的txt文件 28 with open('E:中国大学排名.txt','a',encoding='utf-8') as f: 29 for i in range(num): 30 u= ulist[i] 31 f.write("{:^10}\t{:^6}\t{:^10}".format(u[0],u[1],u[2])) 32 f.write('\n') 33 f.close() 34 35 36 def main():#主函数 37 uinfo = []#列表 38 url = 'http://www.zuihaodaxue.com/zuihaodaxuepaiming2016.html'#给定链接 39 html=getHTMLText(url) 40 fillUnivList(uinfo,html) 41 printUnivList(uinfo,310) 42 writetxt(uinfo,310) 43 main()
结果如下:
第一次写的爬虫,留作纪念
心之所向,素履以往
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南