一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java正則表達(dá)式解析html示例分享

java正則表達(dá)式解析html示例分享

2019-11-10 15:13java技術(shù)網(wǎng) JAVA教程

這篇文章主要介紹了java正則表達(dá)式解析html示例,用到獲取url的正則表達(dá)式,獲取圖片的正則表達(dá)式,需要的朋友可以參考下

代碼如下:


package work;

 

import html">java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class chuanboyi {

 public static void main(String[] args){
  // TODO Auto-generated method stub
  StringBuffer html = new StringBuffer();
  HttpClient httpclient = new HttpClient();
  //創(chuàng)建GET方法實例
  GetMethod getMethod = new GetMethod("//m.ythuaji.com.cn");
  //使用系統(tǒng)提供的默認(rèn)恢復(fù)策略
  getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
  try{
   //執(zhí)行GET方法
   int statusCode = httpclient.executeMethod(getMethod);
   if(statusCode != HttpStatus.SC_OK){
    System.out.println("Method is wrong " + getMethod.getStatusLine());
   }
   InputStream responseBody = getMethod.getResponseBodyAsStream();
   BufferedReader reader = new BufferedReader(new InputStreamReader(responseBody,"utf-8"));
   String line = reader.readLine();
   while(line != null){
    html.append(line).append("\n");
    line = reader.readLine();
   }
   reader.close();
   //正則表達(dá)式
   String regex = "<form name=\"compareForm\"[\\s\\S]+>[\\s\\S]+</form>.*<script.*>";
   String regexa ="(?<=<li>)[\\s\\S]+?(?=</li>)";
   Pattern pattern = Pattern.compile(regex);
         Matcher m = pattern.matcher(html);
         StringBuffer str = new StringBuffer(); 
         int i = 0; 
         while(m.find()){
          str.append(m.group());
         }
         pattern = Pattern.compile(regexa);
         m = pattern.matcher(str);
         while(m.find()){
          attrs(m.group());
          i++;
         }
         System.out.println("共有"+i+"條數(shù)據(jù)!");
  }catch (HttpException e) {
   // TODO: handle exception
   System.out.println("Please check your provided http address!");
   e.printStackTrace();
  }catch (IOException e) {
   // TODO: handle exception
   System.out.println("the line is wrong!");
   e.printStackTrace();
  }finally{
   getMethod.releaseConnection();//釋放鏈接
  }
 }
 public static void attrs(String str){

  //獲取url的正則表達(dá)式
  String regexURL = "[a-z]+-[0-9]+\\.html";
  //獲取Name的正則表達(dá)式
  String regexName = "(?<=title=\")[[\\w-\\s][^x00-xff]]+(?=\")";
  //獲取圖片的正則表達(dá)式
  String regexPicture = "images.*\\.jpg";

  Pattern patternURL = Pattern.compile(regexURL);
  Pattern patternName = Pattern.compile(regexName);
  Pattern patternPicture = Pattern.compile(regexPicture);
  Matcher mURL = patternURL.matcher(str);
  Matcher mName = patternName.matcher(str);
  Matcher mPicture = patternPicture.matcher(str);
  if(mName.find()){
   System.out.println("名字:"+mName.group());
  }
  if(mURL.find()){
   System.out.println("鏈接:"+mURL.group());
  }
  if(mPicture.find()){
   System.out.println("圖片:"+mPicture.group());
  }
 } 
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色婷婷综合久久久中文字幕 | 美女被免费视频 | 国产精品自拍一区 | 日韩在线一区二区 | 99热在这里只有精品 | 亚洲第一网色综合久久 | 色yeye在线观看 | aⅴ天堂小视频 | bl双性肉文 | 色一情一区二区三区四区 | 国产成人愉拍精品 | 手机看片日韩1024你懂的首页 | 日韩大片免费观看 | 亚洲精品αv一区二区三区 亚洲精品91大神在线观看 | 丝瓜污污 | 免费一看一级毛片人 | 亚洲日本在线观看网址 | 国产在线乱子伦一区二区 | 国产乱妇无码大片在线观看 | 亚洲精品久久久久AV无码 | 精品视频在线观看免费 | 好猛好紧好硬使劲好大刺激视频 | 996免费视频国产在线播放 | 青青青青青 | chinese男男gayxxx| 日韩免费一级片 | 人人爽人人草 | 日本一区二区高清免费不卡 | 好姑娘在线完整版视频 | 亚洲欧美专区精品久久 | 91在线精品老司机免费播放 | 日韩经典在线 | 成人小视频在线观看免费 | 无人区在线观看免费完整版免费 | 女娃开嫩苞经历小说 | 操儿子 | 夫妇野外交换激情 | 美女视频久久 | 亚洲上最大成网人站4438 | 韩国最新理论片奇忧影院 | 女人狂吮男人命根gif视频 |