python如何爬取2020年中国大学排名
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,本篇内容介绍了"python如何爬取2020年中国大学排名"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2024年09月22日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安全错误
数据库的锁怎样保障安全
家有小店服务器什么换
东丽区 《网络安全法》
sql数据库安全角色管理
魔兽 数据库
fifail3数据库
甘肃戴尔服务器虚拟化建设云空间
163接受邮件服务器
1u 服务器 尺寸
战地5如何加入别人的私人服务器
乌海软件开发优缺点
数据库分库分片技术的目的
数据库odbc是在客户端设置吗
软件开发专业有哪些学校
软件开发怎么选择网络公司
远程连接服务器连上数据库
力控访问数据库的步骤
沧州每搜网络技术
智慧系统软件开发
中国的全文数据库中国知网
接收邮箱服务器
blast数据库介绍ppt
ff14 服务器ip
英国文化消费数据库
学习通课程显示连接服务器失败
昆山品牌网络技术有哪些
化工产品数据库
生日提醒软件开发
从入门到精通数据库建立
5g网络技术文档
俄乌冲突引发全球网络安全