您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

利用JSP获取网页源文件并抓取其中的链接地址

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 03:10 点击:

利用java的net包获取网页源文件,使用正则表达式抓取当中的链接地址,因正则表达式学艺不精,下面这个例子中并不能抓取所有情况下的href属性中的链接地址

test.jsp(SUN企业级应用的首选)

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.regex.*" errorPage="" %>
<%
String sCurrentLine; 
String sTotalString; 
sCurrentLine=""; 
sTotalString=""; 
java.io.InputStream l_urlStream; 
java.net.URL l_url = new java.net.URL("http://www.5ja.net"); 
java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection(); 
l_connection.connect(); 
l_urlStream = l_connection.getInputStream(); 
java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream)); 

while ((sCurrentLine = l_reader.readLine()) != null) 

sTotalString+=sCurrentLine; 

//String regEx = "href=([^"]*)>";
String regEx ="href="([^"]*)"";//找出href="****"的链接
Pattern p = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(sTotalString);
int j=0;
while(m.find()){
j++;
out.println("m.group(" + j + "): " + m.group(0)+"<br>");
}
regEx ="href=([^]*)";//找出href=****的链接
p = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);//Pattern.CASE_INSENSITIVE查找忽略大小写
m = p.matcher(sTotalString);
while(m.find()){
j++;
out.println("m.group(" + j + "): " + m.group(0)+"<br>");
}
%>


    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • JSP与Servlet
      • 自己动手写MiniBBS系列(基本篇)之用户登录
      • JSP取当前日期
      • JDBC 入门(一)
      • 打开一个jsp页面默认查询所有数据,调用action
      • 使用JSP标签库验证用户的输入(2)完
      • 自定义JSP标签(tag)浅议
      • WIN98/2000下的jsp服务器
      • JSP内建对象(二)
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1