• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 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 = "";
        ListString> list = new ArrayListString>();
        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 ListString> getLink(String s) ...{
        String regex;
        ListString> list = new ArrayListString>();
        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 ListString> getScript(String s) ...{
        String regex;
        ListString> list = new ArrayListString>();
        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 ListString> getCSS(String s) ...{
        String regex;
        ListString> list = new ArrayListString>();
        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抓取网页数据获取网页中所有的链接实例分享
    • java正则表达式匹配网页所有网址和链接文字的示例
    • java简单网页抓取的实现方法
    • Java中使用正则表达式获取网页中所有图片的路径
    • java 抓取网页内容实现代码
    • java抓取网页数据示例
    • java实现网页解析示例
    • 用javascrpt将指定网页保存为Excel的代码
    • Java获取任意http网页源代码的方法
    上一篇:MongoDB正则表达式及应用
    下一篇:日常收集整理php正则表达式(超常用)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Java用正则表达式如何读取网页内容 Java,用,正则,表达式,如何,