站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题利用JSP获取网页源文件并抓取其中的链接地址

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

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

利用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)+"
");
}
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)+"
");
}
%>

<iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-2624228443779279&dt=1115045297625&format=336x280_as&output=html&color_bg=FFFFFF&color_text=666666&color_link=000000&color_url=000000&color_border=FFFFFF&ad_type=text_image&u_h=768&u_w=1024&u_ah=707&u_aw=1024&u_cd=32&u_tz=480&u_his=3&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="65535"></iframe>

↑返回目录
前一篇: JSP连接mysql数据库攻略
后一篇: 在JSP中使用JavaMail(1)