python如何爬取2020年中国大学排名
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容介绍了"python如何爬取2020年中国大学排名"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2025年01月24日python如何爬取2020年中国大学排名
本篇内容介绍了"python如何爬取2020年中国大学排名"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
爬取中国大学排名
request 获取 htmlbeautiful soup 解析网页re 正则表达式匹配内容新建并保存 excel
from bs4 import BeautifulSoup # 网页解析 获取数据import re # 正则表达式 进行文字匹配import urllib.request, urllib.error # 制定url 获取网页数据import xlwtdef main(): baseurl = "http://m.gaosan.com/gaokao/265440.html" # 1爬取网页 datalist = getData(baseurl) savepath = "中国大学排名.xls" saveData(datalist,savepath)# 正则表达式paiming = re.compile(r'(.*) .* .* .* .* ') # 创建超链接正则表达式对象,表示字符串模式,规则xuexiao = re.compile(r'.* (.*) .* .* .* ')defen = re.compile(r'.* .* (.*) .* .* ')xingji = re.compile(r'.* .* .* (.*) .* ')cengci = re.compile(r'.* .* .* .* (.*) ')# 爬取网页def getData(baseurl): datalist = [] html = askURL(baseurl) # 保存获取到的网页源码 # print(html) #【逐一】解析数据 (一个网页就解析一次) soup = BeautifulSoup(html, "html.parser") # soup是解析后的树形结构对象 for item in soup.find_all('tr'): # 查找符合要求的字符串形成列表 # print(item) #测试查看item全部 data = [] # 保存一个学校的所有信息 item = str(item) #排名 paiming1 = re.findall(paiming, item) # re正则表达式查找指定字符串 0表示只要第一个 前面是标准后面是找的范围 # print(paiming1) if(not paiming1): pass else: print(paiming1[0]) data.append(paiming1) if(paiming1 in data): #学校名字 xuexiao1 = re.findall(xuexiao, item)[0] # print(xuexiao1) data.append(xuexiao1) #得分 defen1 = re.findall(defen, item)[0] # print(defen1) data.append(defen1) #星级 xingji1 = re.findall(xingji, item)[0] # print(xingji1) data.append(xingji1) #层次 cengci1 = re.findall(cengci, item)[0] # print(cengci1) data.append(cengci1) # print('-'*80) datalist.append(data) # 把处理好的一个学校信息放入datalist中 return datalist# 得到指定一个url网页信息内容def askURL(url): # 我的初始访问user agent head = { # 模拟浏览器头部信息,向豆瓣服务器发送消息 伪装用的 "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36" } # 用户代理表示告诉豆瓣服务器我们是什么类型的机器--浏览器 本质是告诉浏览器我们可以接受什么水平的文件内容 request = urllib.request.Request(url, headers=head) # 携带头部信息访问url # 用request对象访问 html = "" try: response = urllib.request.urlopen(request) # 用urlopen传递封装好的request对象 html = response.read().decode("utf-8") # read 读取 可以解码 防治乱码 # print(html) except urllib.error.URLError as e: if hasattr(e, "code"): print(e.code) # 打印错误代码 if hasattr(e, "reason"): print(e.reason) # 打印错误原因 return html# 3保存数据def saveData(datalist, savepath): book = xlwt.Workbook(encoding="utf-8", style_compression=0) # 创建workbook对象 样式压缩效果 sheet = book.add_sheet('中国大学排名', cell_overwrite_ok=True) # 创建工作表 一个表单 cell覆盖 for i in range(0, 640): print("第%d条" % (i + 1)) data = datalist[i] # print(data) for j in range(0, 5): # 每一行数据保存进去 sheet.write(i , j, data[j]) # 数据 book.save(savepath) # 保存数据表#主函数if __name__ == "__main__": # 当程序执行时 # #调用函数 程序执行入口 main() # init_db("movietest.db") print("爬取完毕!")
具体实现效果如下
"python如何爬取2020年中国大学排名"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
网页
数据
信息
内容
对象
正则
表达式
大学
字符
字符串
学校
浏览器
中国
中国大学
浏览
国大学
国大
函数
头部
效果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全大赛参赛俱乐部
学软件开发技术哪种好
万汇网络技术有限公司怎么样
银行保险网络安全监督
数据库用户密码加密 反解密
东亚服是东南亚服务器吗
抓包修改游戏服务器数据
深圳的软件开发工作好找吗
计算机网络技术管理类
业务服务器中毒措施
服务器如何设置安全策略
浪潮服务器主机架
剪映连接服务器
长安软件开发 工资
数据库代码化是什么
游戏软件开发助理
数据库哪个认证好
软件开发的分析技术
戴尔服务器过保不提供服务
服务器安全防范策略
昆明人社通社保证明服务器异常
数据库防伪技术订做价格
淄博网络安全宣传活动
山东省人口数据库
登封进销存软件开发公司
淮安软件开发的公司
深圳博达软件开发是培训公司吗
河北商城软件开发要多少钱
济南格先软件开发
宝鸡网络技术哪家强