Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
利用JSP获取网页源文件并抓取其中的链接地址

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

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

test.jsp

<%@ 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>");
}
%>




相关文章

相关软件