java通过正则表达式抓取网页数据

例如在基金网的源代码view-source:http://fund.eastmoney.com/fund.html网页上的这一段id="tr000057"><tdclas... 例如在基金网的源代码view-source:http://fund.eastmoney.com/fund.html网页上的这一段 id="tr000057"><td class="gz"><a class="noAtt" title="点击关注"></a></td><td class="tor"><input type="checkbox" id="000057"/></td><td>1</td><td>000057</td><td class="tol"><nobr><a href="000057.html">中银消费主题股票</a><a href="http://fund2.eastmoney.com/topic,000057.html">基金吧</a><a href="f10/000057.html">档案</a></nobr></td><td class="TD2">1.0580</td><td class="TD2">1.0580</td><td class="TD2">1.0460</td><td class="TD2">1.0460</td><td class=' red'>0.0120</td><td class='bg red'>1.15%</td><td>开放申购</td><td>开放赎回</td><td>---</td><td>---</td><td class='pd'><p></p></td><tr id="tr240009"><td class="gz"><a class="noAtt" title="点击关注"></a></td><td class="tor"><input type="checkbox"
输入它的代码000057就能输出它的价位1.0580。求各位大神!!!
展开
 我来答
洁白的黎明
2013-11-24 · TA获得超过185个赞
知道小有建树答主
回答量:398
采纳率:0%
帮助的人:261万
展开全部
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern p = Pattern.compile("(?<=<td>).*(?=</td>)");
String str ="<td>20分钟</td>";
Matcher m = p.matcher(str);
while(m.find())
System.out.println(m.group());
}
}

public static void main(String[] args) throws Exception {
URL url = new URL("http://www.tianya.cn/publicforum/content/english/1/129176.shtml");
// 打开连接
URLConnection conn = url.openConnection();
// 设置连接网络超时时间
conn.setConnectTimeout(1000 * 10);
// 读取指定网络地址中的文件
BufferedReader bufr = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
String regex = "[a-zA-Z0-9_-]+@\\w+\\.[a-z]+(\\.[a-z]+)?"; // 匹配email的正则
Pattern p = Pattern.compile(regex);
while((line = bufr.readLine()) != null) {
Matcher m = p.matcher(line);
while(m.find()) {
System.out.println(m.group());<span style="white-space:pre"> </span>// 获得匹配的email
}
}
}

给你两个例子,你看下。。就应该懂得原理了。
追问
谢谢,可以给我写一个吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
keven1006
2013-11-25 · TA获得超过684个赞
知道小有建树答主
回答量:820
采纳率:66%
帮助的人:373万
展开全部
你要采集金融数据啊,我仔细看了这个基金的页面,貌似不难的,用新出的网页采集神器八爪鱼采集器试了一下,几分钟就采集了很多基金下来,你自己试一下吧,工具挺好的,也很难得是免费的。
追问
我是想编一个程序来抓取,你会吗,可以教我下吗?
追答
程序我不太会啊,我会用八爪鱼采集器,你要不会用我可以教你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yeda999
2013-12-08 · TA获得超过126个赞
知道小有建树答主
回答量:181
采纳率:100%
帮助的人:64.5万
展开全部
我擦,你这里的怎么是50分的,我回答了30分的...亏了
追问
那个也是我啊,可以教我吗,可以给分
追答
我qq发你私信了,那个还不行吗
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式