激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(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方法實(shí)例
  GetMethod getMethod = new GetMethod("//www.zmynmublwnt.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精品视频在线免费观看 | 国产成人精品一区在线播放 | 日操操夜操操 | 午夜精品影院 | 羞羞视频.www在线观看 | 精品国产一区二区在线 | 免费中文视频 | 欧美性精品videofree | 久久久无码精品亚洲日韩按摩 | gogo全球大胆高清人露出91 | 亚洲精品久久久久久下一站 | 91超在线| 日本在线一区二区 | 久久久成人免费视频 | 欧美精品久久天天躁 | 国产精品久久久久久久久久东京 | 欧美激情区 | 在线看三级 | 久久久久97国产精 | 成人国产精品色哟哟 | 国产高潮失禁喷水爽到抽搐视频 | 欧美一级淫片免费视频1 | www.91sese| 日日摸夜夜添夜夜添牛牛 | 亚洲啊v在线观看 | 欧美精品免费一区二区三区 | 免费国产在线精品 | 久久影库 | 欧美a级一区二区 | 午夜视频亚洲 | 日本黄色免费观看视频 | 一区二区三区在线观看视频 | 久草在线视频网 | 香蕉秀 | 欧美日韩精品一二三区 | 国产毛片视频 | 久久99国产精品二区护士 | 双性帝王调教跪撅打屁股 | 一级做a爱片久久毛片a高清 | 成人男女激情免费视频 | 国产午夜免费不卡精品理论片 |