免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1899 | 回复: 4
打印 上一主题 下一主题

取html内容--多行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-08 16:37 |只看该作者 |倒序浏览
<h2>Related </h2>
Adaptation:
<a href="http://aaaaaaaa">Hajime no Ippo - Mashiba vs Kimura</a>
,
<a href="http://bbbbbbbb">Hajime no Ippo: New Challenger</a>
,
<a href="http://cccccccc">Hajime no Ippo - Champion Road</a>
,
<a href="http://dddddddd">Hajime no Ippo</a>
<br/>



取Hajime no Ippo - Mashiba vs Kimura, Hajime no Ippo: New Challenger, Hajime no Ippo - Champion Road, Hajime no Ippo这些值放入$str;perl该怎么匹配?


<a href >................</a>出现一次或者多次,结束以<br/>。

[ 本帖最后由 yu330 于 2009-7-8 16:42 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-07-09 09:48 |只看该作者
正则 或者 HTML:arser模块

论坛徽章:
0
3 [报告]
发表于 2009-07-09 12:14 |只看该作者

#!/usr/bin/perl

$bigline .= $_ while (<>);

$str = join '', ($bigline =~ /<a +.*?>(.*?)<\/a>/sg);

print $str, "\n";


我同意2楼的看法,如果要专门处理html文件的话,还是应使用现成模块。

[ 本帖最后由 sysengcn 于 2009-7-8 20:17 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2009-07-10 12:59 |只看该作者
不过有些时候写代码 习惯如果不好,出来的html 格式很差, 缺东缺西的..用module也很难处理...

如果只是为了处理这类parsing的工作, 装module..我觉得不值得,用简单代码就可以完成的工作,实在没必要去
装module。

[ 本帖最后由 apile 于 2009-7-10 13:03 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-07-13 14:27 |只看该作者
一发完帖子,我就后悔了,因为好像很简单,但之后论坛维护,改不了了,只好作罢。看了一下三楼的方法,竟然忘了还有join函数。但是当遇到
h2>Related </h2>
Adaptation:
<a href="http://aaaaaaaa">Hajime no Ippo - Mashiba vs Kimura</a>
,<small>aaaaaa</small>
<a href="http://bbbbbbbb">Hajime no Ippo: New Challenger</a>
,<br>
bbbb
<a href="http://cccccccc">Hajime no Ippo - Champion Road</a>
,
<a href="http://dddddddd">Hajime no Ippo</a>
<br/>
像这种没有规律的HTML源文件,想取文字部分是不行的。
用下面代码可以用在没有规律的HTML源文件中:
open(MYFILE,"1.html")  ||  die "can not open file $!_";
$str  .= $_ while(<MYFILE>);
cose(MYFILE);
if ($str =~ m/<a href=(.*?)<div"/s)
{
    my $value = $1;
    $value =~ s/<.*?>//g;
    print $value;
}

至于用HTML:parser模块,没有查到更多有内容,大多数用在JAVA上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP