日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java取网页源码_Java获取任意http网页源代码的方法

發布時間:2023/12/2 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java取网页源码_Java获取任意http网页源代码的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了JAVA獲取任意http網頁源代碼。分享給大家供大家參考,具體如下:

JAVA獲取任意http網頁源代碼可實現如下功能:

1. 獲取任意http網頁的代碼

2. 獲取任意http網頁去掉HTML標簽的代碼

Webpage類:

/**

* 網頁操作相關類

*/

package test;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.URL;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

* @author winddack

*

*/

public class Webpage {

private String pageUrl;//定義需要操作的網頁地址

private String pageEncode="UTF8";//定義需要操作的網頁的編碼

public String getPageUrl() {

return pageUrl;

}

public void setPageUrl(String pageUrl) {

this.pageUrl = pageUrl;

}

public String getPageEncode() {

return pageEncode;

}

public void setPageEncode(String pageEncode) {

this.pageEncode = pageEncode;

}

//定義取源碼的方法

public String getPageSource()

{

StringBuffer sb = new StringBuffer();

try {

//構建一URL對象

URL url = new URL(pageUrl);

//使用openStream得到一輸入流并由此構造一個BufferedReader對象

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), pageEncode));

String line;

//讀取www資源

while ((line = in.readLine()) != null)

{

sb.append(line);

}

in.close();

}

catch (Exception ex)

{

System.err.println(ex);

}

return sb.toString();

}

//定義一個把HTML標簽刪除過的源碼的方法

public String getPageSourceWithoutHtml()

{

final String regEx_script = "

final String regEx_style = "

final String regEx_html = "<[^>]+>"; // 定義HTML標簽的正則表達式

final String regEx_space = "\\s*|\t|\r|\n";//定義空格回車換行符

String htmlStr = getPageSource();//獲取未處理過的源碼

Pattern p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);

Matcher m_script = p_script.matcher(htmlStr);

htmlStr = m_script.replaceAll(""); // 過濾script標簽

Pattern p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);

Matcher m_style = p_style.matcher(htmlStr);

htmlStr = m_style.replaceAll(""); // 過濾style標簽

Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);

Matcher m_html = p_html.matcher(htmlStr);

htmlStr = m_html.replaceAll(""); // 過濾html標簽

Pattern p_space = Pattern.compile(regEx_space, Pattern.CASE_INSENSITIVE);

Matcher m_space = p_space.matcher(htmlStr);

htmlStr = m_space.replaceAll(""); // 過濾空格回車標簽

htmlStr = htmlStr.trim(); // 返回文本字符串

htmlStr = htmlStr.replaceAll("?", "");

htmlStr = htmlStr.substring(0, htmlStr.indexOf("。")+1);

return htmlStr;

}

}

調用:

Webpage page=new Webpage();

page.setPageUrl("http://www.baidu.com");

String code=page.getPageSourceWithoutHtml();

System.out.println(code);

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

希望本文所述對大家java程序設計有所幫助。

總結

以上是生活随笔為你收集整理的java取网页源码_Java获取任意http网页源代码的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。