栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 提取出所有学生的序号,姓名,成绩(简单易懂,代码可以直接运行,非正则表达式)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 提取出所有学生的序号,姓名,成绩(简单易懂,代码可以直接运行,非正则表达式)

python 提取出所有学生的序号 姓名 成绩(简单易懂 代码可以直接运行 非正则表达式)

非正则表达式提取信息利用的是字符串的切片原理 商铺先用spilt函数将每一条 tr tr 切割出来 然后通过循环一次遍历每一条数据。先设置begin通过index函数定位要提取内容前一条信息的位置 然后加上该条信息的长度 就到达了要提取内容的位置 然后设置end 通过index得到提取数据结束的位置。最后在每一次循环中通过字符串的切片就可以将数据提取出来了
点个 吧
代码如下

#使用字符串常用方法提取学生信息
str tbody 
 tr td span span class c-index c-index-hot1 c-gap-icon-right-small 1 /span 张婷婷 /span /td td class opr-toplist-right 92 i class opr-toplist-st c-icon c-icon-down /i /td /tr 
 tr td span span class c-index c-index-hot1 c-gap-icon-right-small 2 /span 王华 /span /td td class opr-toplist-right 91 i class opr-toplist-st c-icon c-icon-down /i /td /tr 
 tr td span span class c-index c-index-hot1 c-gap-icon-right-small 3 /span 张岚 /span /td td class opr-toplist-right 90 i class opr-toplist-st c-icon c-icon-down /i /td /tr 
 tr td span span class c-index c-gap-icon-right-small 4 /span 孙鸿峰 /span /td td class opr-toplist-right 90 i class opr-toplist-st c-icon c-icon-down /i /td /tr 
 tr td span span class c-index c-gap-icon-right-small 5 /span 周海栋 /span /td td class opr-toplist-right 89 i class opr-toplist-st c-icon c-icon-down /i /td /tr 
 tr td span span class c-index c-gap-icon-right-small 6 /span 武静 /span /td td class opr-toplist-right 88 i class opr-toplist-st c-icon c-icon-down /i /td /tr 
 /tbody 
slt str.split( /tr )
for content in slt:
 n 1#设置一个标记判断内容是否被切割出来
 #print(content)
 order_begin content.index( c-gap-icon-right-small ) len( c-gap-icon-right-small )
 order_end content.index( /span )
 name_begin order_end len( /span )
 name_end content.index( /span ,name_begin)
 score_begin content.index( td class opr-toplist-right ) len( td class opr-toplist-right )#这里用了多行注释 让单行注释的效果保持
 score_end content.index( i class opr-toplist-st c-icon c-icon-down )
 order content[order_begin:order_end]
 name content[name_begin:name_end]
 score content[score_begin:score_end]
 print(order,end )
 print(name,end )
 print(score,end )
 print( n )
print(n)

运行的结果如下

这个程序存在报错信息 但是不影响数据的提取 具体为什么会报错我还没搞清楚 之前爬取豆瓣电影榜单的时候也遇到过找不到信息的情况 不过当时是用的正则表达式的re.search函数直接返回出来一个None 这个提取学生信息我也写了一个re.search形式的 那个是在第五次作业里面 感兴趣的可以看一下
等我和同学讨论后这个报错原因后再更新一下 知道为什么会有这种原因的也请在评论区告诉我 不胜感激

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267214.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号