当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]分析html文件中的分页信息
帖子发表于 : 2008-08-27 12:19 

注册: 2005-12-09 16:22
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
要做一个解析html文档, 从里面抓取它分页的url,

经过egrep的杂乱的html片断如下:

代码:
 
   <div class="pages"><em>&nbsp;150&nbsp;</em><strong>1</strong><a href="forumdisplay.php?fid=51&amp;page=2&sid=7JjykH">2</a><a href="forumdisplay.php?fid=51&amp;page=3&sid=7JjykH">3</a><a href="forumdisplay.php?fid=51&amp;page=4&sid=7JjykH">4</a><a href="forumdisplay.php?fid=51&amp;page=2&sid=7JjykH" class="next">&rsaquo;&rsaquo;</a></div>         <span class="postbtn" id="newspecial" onmouseover="$('newspecial').id = 'newspecialtmp';this.id = 'newspecial';showMenu(this.id)"><a href="post.php?action=newthread&amp;fid=51&amp;extra=page%3D1&sid=7JjykH" title="发新话题"><img src="images/dst/newtopic.gif" alt="发新话题" /></a></span>
   <div class="pages"><em>&nbsp;150&nbsp;</em><strong>1</strong><a href="forumdisplay.php?fid=51&amp;page=2&sid=7JjykH">2</a><a href="forumdisplay.php?fid=51&amp;page=3&sid=7JjykH">3</a><a href="forumdisplay.php?fid=51&amp;page=4&sid=7JjykH">4</a><a href="forumdisplay.php?fid=51&amp;page=2&sid=7JjykH" class="next">&rsaquo;&rsaquo;</a></div>         <span class="postbtn" id="newspecialtmp" onmouseover="$('newspecial').id = 'newspecialtmp';this.id = 'newspecial';showMenu(this.id)"><a href="post.php?action=newthread&amp;fid=51&amp;extra=page%3D1&sid=7JjykH" title="发新话题"><img src="images/dst/newtopic.gif" alt="发新话题" /></a></span>
         <span class="headactions"><a href="forumdisplay.php?fid=51&amp;page=1&amp;showoldetails=yes&sid=7JjykH#online" class="nobdr"><img src="images/dst/collapsed_yes.gif" alt="" /></a></span>




我想到分页的url结果如下:
代码:
forumdisplay.php?fid=51&amp;page=2&sid=7JjykH
forumdisplay.php?fid=51&amp;page=3&sid=7JjykH


有点不知道从哪下手, 因为这些html代码很乱, grep是按行来匹配吧, 怎样在这一行里, 抠出我想的字符串呢?
cut?

有点晕. 谢谢各位的帮忙[/code]


_________________
java程序员 linux菜鸟 C++初学者
http://ke-cai.net


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-08-27 12:27 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
sed cut awk grep 基本上是这几个有着无数参数命令

代码:
sed -e 's/forumdisplay/\nforumdisplay/g'|sed -e 's/"/\n"/g'|grep "forumdisplay.php"

这个方法比较笨。先在href="后加个回车,这样,因为所有你要的东西里没有引号, 然后在引号后再加个回车, 这样,相关的东西就会独自成行, 最后用grep即可。 但问题是结果里有

引用:
forumdisplay.php?fid=51&amp;page=1&amp;showoldetails=yes&sid=7JjykH#online


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-08-27 12:57 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
来个复杂单是可以用的:
代码:
xiooli@XIOOLI:~$ cat ./html |awk -F"<a href=\"" '{for (i=2;i<NF;i++) print $i}'|sed 's/\".*$//'|sort|uniq
forumdisplay.php?fid=51&amp;page=2&sid=7JjykH
forumdisplay.php?fid=51&amp;page=3&sid=7JjykH
forumdisplay.php?fid=51&amp;page=4&sid=7JjykH
xiooli@XIOOLI:~$


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-08-27 14:16 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
我有几个脚本,是找论坛的链接的,下图片的。


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-08-27 14:22 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
告诉你关键点,先用tr '"' '\n'切。切开,就容易分析了。


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-08-27 14:24 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
grep -o


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-08-27 14:43 

注册: 2005-12-09 16:22
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
我有几个脚本,是找论坛的链接的,下图片的。


大大, 分享一下.


_________________
java程序员 linux菜鸟 C++初学者
http://ke-cai.net


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-08-27 14:51 
头像

注册: 2007-02-18 19:33
帖子: 2180
地址: lyric.im
系统: OSX
送出感谢: 0 次
接收感谢: 1
说实话, 我从来就没看懂过shell script


_________________
既然你诚心诚意地问了
我就大慈大悲地告诉你
为了防止世界被破坏
为了维护世界的和平
贯彻爱与真实的罪恶
可爱而又迷人的反派角色
武藏,小次郎
我们是穿越银河的火箭队,白洞白色的明天在等着我们。就是这样!!喵~~


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译