java抓取网页内容(《》之有关,文章内容质量较高,小编分享)

优采云 发布时间: 2022-01-01 10:04

  java抓取网页内容(《》之有关,文章内容质量较高,小编分享)

  本文文章将详细讲解Java中如何使用正则表达式获取网页内容。 文章的内容质量很高,分享给大家作为参考。希望大家看完这篇文章,对相关知识有了一定的了解。

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

<p>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 list = new ArrayList();

    regex = ".*?";

    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 ]*))[^>]*>(.*?)</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 getScript(String s) ...{

    String regex;

    List list = new ArrayList();

    regex = "

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线