免费注册 查看新帖 |

Chinaunix

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

解析一个网页 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-12 22:04 |只看该作者 |倒序浏览
本帖最后由 perlw01f 于 2010-02-12 22:10 编辑

网页代码太长了
看这个吧 http://www.springerlink.com/content/j7t650

我的目的
提取出目录文件

$part_no  including:
$chap_no, $chap_title, $chap_page_range;

如 part1 包括
chap 1, abc, 1-10

关键问题在 如何提取与$part_no相关联的chap
现在的问题是 用正则貌似比较麻烦
每次将包含$part_no与chap信息的内容当做一块 然后处理这个块
m/<td colspan="3" class="viewGroup"(.*?)<td colspan="3" class="viewGroup"/mgs
可是这样处理每次回漏掉一个part
请问有没有合适的解析模块做这个的不太懂
看了 HTML::TokeParser和HTML::TreeBuilder 也都好像不太合适
源码中的那个div标签用得神出鬼没的 神鬼莫测

非常感谢

论坛徽章:
0
2 [报告]
发表于 2010-02-12 23:34 |只看该作者
推荐 使用
HTML::TreeBuilder::XPath

论坛徽章:
0
3 [报告]
发表于 2010-02-13 15:10 |只看该作者
use HTML::TreeBuilder::XPath
my $tree = HTML::TreeBuilder::XPath->new();
my $items = $tree->findnodes( '/html/body//td[@class="viewGroup"]' );
print Dumper($items) 发现这个貌似把网页中的所有内容都放进去了?而不仅仅是class="viewGroup"的td标签
继续求助

论坛徽章:
0
4 [报告]
发表于 2010-02-14 09:54 |只看该作者
把你那点积分都拿出来吧,会有人帮你做的

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP