使用shell抽取html数据之二

简介: 昨天使用shell脚本来抽取html数据的时候,碰到了一个问题,如果要抽取的数据成了如下的情形时,数据的抽取就会出现不一致,有一些记录会没有数据,只显示"未开售" 这个时候如果还是按照原来的思路来抽取就会出现数据混乱的情况,比如根据第一列抽取数据一共有75 行,但是根据右边的赔率只能得到74行,有一行的数据混乱,后面的数据就全乱了。
昨天使用shell脚本来抽取html数据的时候,碰到了一个问题,如果要抽取的数据成了如下的情形时,数据的抽取就会出现不一致,有一些记录会没有数据,只显示"未开售" 这个时候如果还是按照原来的思路来抽取就会出现数据混乱的情况,比如根据第一列抽取数据一共有75 行,但是根据右边的赔率只能得到74行,有一行的数据混乱,后面的数据就全乱了。

+1 
5.80   4.40   1.38
  2.58 3.55 2.18
2
未开售
  1.55 4.30 4.00

大体的Html代码如下:
可以看到对应的div FM2,FHMW如果都有数据,都含有3行对应的数据,如果div FMW中只显示“未开售”的时候,只有一行。
这样数据明显的不对应。
需要找到一定的规律来有条件的抽取和过滤。

                                                        

                                                            
FMW">
                                                                 6.00
                                                                 4.30
                                                                 1.38
                                                            

                                                            
FHMW">
                                                                 2.55
                                                                     3.50
                                                                     2.22  "return false;">
                                                            

 
                                                     
                                                             0
                                                             -2
                                                        

                                                        

                                                        

                                                            
FMW">
                                                                 未开售
                                                                                                                                 
                                                            

                                                            

                                                                 1.53
                                                                     4.45
                                                                     4.00
                                                            
    


现在来做一个改进,按照div来抽取。

grep "em class=\"vs\"" *e|awk -F"score-text\">" '{print $2}'|awk -F" vs.lst
grep  -A4 "div class=\"selection\"" *e|grep -A3 "FMW" |awk '{ if($2~/no-sale/) {print "\"num\">000" '{print $2}'|awk -F" fmw.lst
grep  -A9 "div class=\"selection\"" *e|grep -A3 "FHMW" |awk '{ if($2~/no-sale/) {print "\"num\">000" '{print $2}'|awk -F" hfmw.lst

抽取后的数据就会很自然的显示出来,我们把“未开售”的记录设置为0
数据抽取过滤后,结果就会如下所示,数据就不会乱了。
1,3.40,3.35,1.88,1.71,3.65,3.70
2,0,0,0,2.85,4.20,1.85
1,4.90,3.95,1.50,2.24,3.60,2.47
1,7.10,4.80,1.29,2.95,3.75,1.91
1,5.30,3.85,1.48,2.26,3.35,2.58
1,5.00,4.00,1.49,2.25,3.55,2.48
1,3.20,3.40,1.93,1.68,3.75,3.75
阅读(8203) | 评论(0) | 转发(4) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册

', title : '选择类型', width : 300, height : 150, scroll : 'no', callback : function(action){ if(action == 'close'){ $.cover(false); } } }); }); $('#admin_delete').live('click' , function(){ ///blog/logicdel/id/3480184/url/%252Fblog%252Findex.html.html var type = $('#del_type').val(); var url = '/blog/logicdel/id/1257616/url/%252F23718752%252F/'; window.location.href= url + '?type=' + type; }); //顶 js中暂未添加&过滤 $('#digg').live('click' , function(){ if(isOnLine == '' ) { //showErrorMsg('登录之后才能进行此操作' , '消息提示'); showErrorMsg('操作失败,您需要先登录!', '消息提示', '/site/login/'); return false; } var bid = $('#digg').attr('bid'); var url = $('#digg').attr('url'); var digg_str = $.cookie('digg_id'); if(digg_str != null) { var arr= new Array(); //定义一数组 arr = digg_str.split(","); //字符分割 for( i=0 ; i '; tpl += '
'; tpl += '文明上网,理性发言...'; tpl += '
'; tpl += '
'; tpl += '
'; tpl += ' '; tpl += '
'; tpl += '
'; tpl += '
目录
相关文章
|
1月前
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux读取、转换并输出数据 dd命令使用教程
【Shell 命令集合 磁盘管理 】Linux读取、转换并输出数据 dd命令使用教程
33 0
|
1月前
|
XML 前端开发 数据格式
请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
【2月更文挑战第22天】【2月更文挑战第67篇】请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
|
1月前
|
算法 Shell Linux
【Shell 命令集合 备份压缩 】⭐Linux 压缩 恢复bzip2损坏数据 bzip2recover命令 使用指南
【Shell 命令集合 备份压缩 】⭐Linux 压缩 恢复bzip2损坏数据 bzip2recover命令 使用指南
33 0
|
3月前
|
Shell Linux Perl
linux逐行逐列(分号分隔)读取数据shell
linux逐行逐列(分号分隔)读取数据shell
22 3
|
4月前
|
JSON 前端开发 Java
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
60 0
|
6月前
|
移动开发 JavaScript 前端开发
jsoup爬取HTML数据
jsoup是一个用于处理真实世界HTML的Java库。它提供了一个非常方便的API,用于获取URL、提取和操作数据,使用最好的HTML5 DOM方法和CSS选择器。
39 0
jsoup爬取HTML数据
|
7天前
|
数据采集 前端开发 网络协议
如何使用代理IP通过HTML和CSS采集数据
如何使用代理IP通过HTML和CSS采集数据
|
1月前
|
存储 缓存 Shell
【Shell 命令集合 磁盘维护 】⭐⭐⭐Linux 将文件系统的缓冲区数据立即写入磁盘 sync 命令使用教程
【Shell 命令集合 磁盘维护 】⭐⭐⭐Linux 将文件系统的缓冲区数据立即写入磁盘 sync 命令使用教程
52 1
|
4月前
|
JavaScript 前端开发
【HTML+REACT+ANTD 表格操作】处理(改变)数据,改变DOM
【HTML+REACT+ANTD 表格操作】处理(改变)数据,改变DOM
|
4月前
|
Shell 5G
Shell脚本创建指定大小文件的测试数据
Shell脚本创建指定大小文件的测试数据
35 0