<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    Java如何正則表達式分析讀取網頁內容

    時間:2025-03-13 19:30:43 java語言 我要投稿
    • 相關推薦

    Java如何正則表達式分析讀取網頁內容

      導語:Java如何正則表達式分析讀取網頁內容?下面是小編給大家提供的代碼實現,大家可以參考閱讀,更多詳情請關注應屆畢業生考試網。

      Java用正則表達式分析讀取網頁內容

      package com.xiaofeng.picup;

      import java.io.BufferedReader;

      import java.io.IOException;

      import java.io.InputStreamReader;

      import java.net.MalformedURLException;

      import java.net.URL;

      import java.util.ArrayList;

      import java.util.HashMap;

      import java.util.List;

      import java.util.regex.Matcher;

      import java.util.regex.Pattern;

      /** *//**

      *

      * @抓取雅虎知識堂的文章標題及內容(測試) 手動輸入網址抓取,可進一步自動抓取整個知識堂的全部內容

      *

      */

      public class WebContent ...{

      /** *//**

      * 讀取一個網頁全部內容

      */

      public String getOneHtml(String htmlurl) throws IOException...{

      URL url;

      String temp;

      StringBuffer sb = new StringBuffer();

      try ...{

      url = new URL(htmlurl);

      BufferedReader in = new BufferedReader(new InputStreamReader(url

      .openStream(), "utf-8"));// 讀取網頁全部內容

      while ((temp = in.readLine()) != null) ...{

      sb.append(temp);

      }

      in.close();

      }catch(MalformedURLException me)...{

      System.out.println("你輸入的URL格式有問題!請仔細輸入");

      me.getMessage();

      throw me;

      }catch (IOException e) ...{

      e.printStackTrace();

      throw e;

      }

      return sb.toString();

      }

      /** *//**

      *

      * @param s

      * @return 獲得網頁標題

      */

      public String getTitle(String s) ...{

      String regex;

      String title = "";

      List<String> list = new ArrayList<String>();

      regex = "<title>.*?</title>";

      Pattern pa = Pattern.compile(regex, Pattern.CANON_EQ);

      Matcher ma = pa.matcher(s);

      while (ma.find()) ...{

      list.add(ma.group());

      }

      for (int i = 0; i < list.size(); i++) ...{

      title = title + list.get(i);

      }

      return outTag(title);

      }

      /** *//**

      *

      * @param s

      * @return 獲得鏈接

      */

      public List<String> getLink(String s) ...{

      String regex;

      List<String> list = new ArrayList<String>();

      regex = "<a[^>]*href=("([^"]*)"|'([^']*)'|([^s>]*))[^>]*>(.*?)</a>";

      Pattern pa = Pattern.compile(regex, Pattern.DOTALL);

      Matcher ma = pa.matcher(s);

      while (ma.find()) ...{

      list.add(ma.group());

      }

      return list;

      }

      /** *//**

      *

      * @param s

      * @return 獲得腳本代碼

      */

      public List<String> getScript(String s) ...{

      String regex;

      List<String> list = new ArrayList<String>();

      regex = "<script.*?</script>";

      Pattern pa = Pattern.compile(regex, Pattern.DOTALL);

      Matcher ma = pa.matcher(s);

      while (ma.find()) ...{

      list.add(ma.group());

      }

      return list;

      }

      /** *//**

      *

      * @param s

      * @return 獲得CSS

      */

      public List<String> getCSS(String s) ...{

      String regex;

      List<String> list = new ArrayList<String>();

      regex = "<style.*?</style>";

      Pattern pa = Pattern.compile(regex, Pattern.DOTALL);

      Matcher ma = pa.matcher(s);

      while (ma.find()) ...{

      list.add(ma.group());

      }

      return list;

      }

      /** *//**

      *

      * @param s

      * @return 去掉標記

      */

      public String outTag(String s) ...{

      return s.replaceAll("<.*?>", "");

      }

    【Java如何正則表達式分析讀取網頁內容】相關文章:

    java如何讀取CSV06-26

    java如何通過url讀取文件05-07

    Java如何讀取圖片EXIF信息02-20

    如何利用java讀取網絡照片01-08

    Java如何讀取Jar中的資源07-25

    Java中如何高效的讀取大文件01-19

    Java如何讀取文本文件07-06

    從Java的jar文件中如何讀取數據的方法01-24

    Java讀取郵件的方法02-02

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人