六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 32|回复: 0

html抽取

[复制链接]

升级  40%

4

主题

4

主题

4

主题

童生

Rank: 1

积分
20
 楼主| 发表于 2013-2-7 14:49:42 | 显示全部楼层 |阅读模式
<li class="ji" _bg=Y>
<span class="one lan1 cutT" _chk=694>
<script>wm(0)</script>
<a _tc='0' href="/b-1001024083/694.htm" _link='1'>车世界中的6位女神</a><script>wm(7)</script></span>
<span class="two lan2 cut"><a _ulink='312898810'>誑嬡柏‘鋇鋇</a></span>
<span class="three gary1" _mng=N>
8/<font color="#FF0000">2770</font></span>
<span class="four lan2 cut" _mng=N>
<a _ulink=1023781448>吉日总部客服</a></span>
<span class="five gary1" _mng=N><script>wt(1237172399)</script></span><span class="one lan2 mngBtn" _mng=Y _id="694" _elite="0" _top="0" _lock="0" style="display:none"></span>
</li>


对于这样一段html代码,我想抽取其中的帖子标题“车世界中的6位女神”,帖子的作者“誑嬡柏‘鋇鋇”,帖子的点击和回复数“8/2770”,帖子的最后回复人“吉日总部客服”
java的正则应该怎么写呢?
我原来的例子是这样的
package com.common.test;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;@SuppressWarnings("unchecked")public class servicingTest0 {public static void main(String args[]) {String html = "<title>买X3前最后一次考察 没想到就直接下订金了</title>" + "<title>BMW 2009精英驾驶培训课程现已出炉,3月全面启动招募报名!</title>"+ "<title>宝马7系历史回顾</title>";List resultList = getContext("<title>", "</title>", html);for (Iterator iterator = resultList.iterator(); iterator.hasNext();) {String context = (String) iterator.next();System.out.println(context);}}public static List getContext(String start, String end, String html) {List resultList = new ArrayList();/** * Pattern p = Pattern.compile("<title>([^</title>]*)"); */Pattern p = Pattern.compile(start + "([^" + end + "]*)");// 匹配<title>开头,</title>结尾的文档Matcher m = p.matcher(html);while (m.find()) {resultList.add(m.group(1));}return resultList;}} 但是现在实际的问题是不存在像title那样简单的标签,比如帖子的标题标签是<a _tc='0' href="/b-1001024083/694.htm" _link='1'>标题</a>,这个694是需要变化的,如果是用”火车采集器“那么我只要给定<a _tc='0' href="/b-1001024083/(*).htm" _link='1'>和</a>,就可以拿到帖子标题,现在java中用正则如何实现这一功能,大大们帮我指点一下?谢谢啦
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表