怎么在Java中利用正则表达式获取网页内容

  介绍

这篇文章将为大家详细讲解有关怎么在Java中利用正则表达式获取网页内容,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

正则表达式,抓取网页并解析HTML部分内容,,

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 并不知道;   import  java.util.regex.Matcher;   import  java.util.regex.Pattern;/* *,*//* *   *   *,@抓取页面文章标题及内容(测试),手动输入网址抓取,可进一步自动抓取整个页面的全部内容   *   */public  class  WebContent …{/* *,才能*//* *   ,,*,读取一个网页全部内容   ,,*/public 才能;String  getOneHtml (String  htmlurl), throws  IOException…{   ,,,URL  url;   ,,,String 温度;   ,,,StringBuffer  sb =, new  StringBuffer ();   ,,,try …{   ,,,,,url =, new  URL (htmlurl);   ,,,,,BufferedReader 拷贝=,new  BufferedReader (new  InputStreamReader (url   ,,,,,,,,,.openStream (),“utf-8"));//,读取网页全部内容   ,,,,,while  ((=temp  in.readLine ()), !=, null), {…   ,,,,,,,sb.append(临时);   ,,,,,}   ,,,,,in.close ();   ,,,}捕捉(MalformedURLException 我)…{   ,,,,,System.out.println(“你输入的URL格式有问题!请仔细输入“);   ,,,,,me.getMessage ();   ,,,,,throw 我;   ,,,}catch  (IOException  e), {…   ,,,,,e.printStackTrace ();   ,,,,,throw  e;   ,,,}   ,,,return  sb.toString ();   ,,}/* *,才能*//* *   ,,*   ,,*,@param  s   ,,*,@return 获得网页标题   ,,*/public 才能;String  getTitle (String  s),…{   ,,,String 正则表达式;   ,,,String  title =,““   ,,,List, list =, new  ArrayList ();   ,,,regex =,“& lt; title>。* ? & lt;/title>“;   ,,,Pattern  pa =, Pattern.compile(正则表达式,Pattern.CANON_EQ);   ,,,Matcher  ma =, pa.matcher(年代);   ,,,while  (ma.find ()), {…   ,,,,,list.add (ma.group ());   ,,,}   ,,,for  (int 小姐:=,0;,小姐:& lt;, list.size();,我+ +),{…   ,,,,,title =, title  +, list.get(我);   ,,,}   ,,,return  outTag(标题);   ,,}/* *,才能*//* *   ,,*   ,,*,@param  s   ,,*,@return 获得链接   ,,*/public 才能;List< String>, getLink (String  s),…{   ,,,String 正则表达式;   ,,,List, list =, new  ArrayList ();   ,,,regex =,“& lt;[^祝辞]* href=https://www.yisu.com/zixun/(“([^] *)“|”([^] *)的|([^年代>]*))[^>]*> (. * ?)”;   Pattern.DOTALL pa=Pattern.compile模式(正则表达式);   匹配器马=pa.matcher(年代);   而(ma.find ())…{   list.add (ma.group ());   }   返回列表;   }/* * *//* *   *   * @param年代   * @return获得脚本代码   */公共列表<字符串> getScript (String s) {…   字符串正则表达式;   列表<字符串>=new ArrayList <字符串> ();   regex=" <脚本。* ?> getCSS (String s) {…   字符串正则表达式;   列表<字符串>=new ArrayList <字符串> ();   regex=" <风格。* ?> "," ");   }

关于怎么在Java中利用正则表达式获取网页内容就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么在Java中利用正则表达式获取网页内容