一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java抓取網(wǎng)頁數(shù)據(jù)獲取網(wǎng)頁中所有的鏈接實(shí)例分享

java抓取網(wǎng)頁數(shù)據(jù)獲取網(wǎng)頁中所有的鏈接實(shí)例分享

2019-10-26 16:58java教程網(wǎng) JAVA教程

java抓取網(wǎng)頁數(shù)據(jù)獲取網(wǎng)頁中所有的鏈接實(shí)例分享,使用方法,只要實(shí)例化HtmlParser時(shí)傳入網(wǎng)頁地址就可以了

效果圖

java抓取網(wǎng)頁數(shù)據(jù)獲取網(wǎng)頁中所有的鏈接實(shí)例分享
 

復(fù)制代碼代碼如下:


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

 

public class HtmlParser {
 /**
  * 要分析的網(wǎng)頁
  */
 String htmlUrl;

 /**
  * 分析結(jié)果
  */
 ArrayList<String> hrefList = new ArrayList();

 /**
  * 網(wǎng)頁編碼方式
  */
 String charSet;

 public HtmlParser(String htmlUrl) {
  // TODO 自動(dòng)生成的構(gòu)造函數(shù)存根
  this.htmlUrl = htmlUrl;
 }

 /**
  * 獲取分析結(jié)果
  * 
  * @throws IOException
  */
 public ArrayList<String> getHrefList() throws IOException {

  parser();
  return hrefList;
 }

 /**
  * 解析網(wǎng)頁鏈接
  * 
  * @return
  * @throws IOException
  */
 private void parser() throws IOException {
  URL url = new URL(htmlUrl);
  HttpURLConnection connection = (HttpURLConnection) url.openConnection();
  connection.setDoOutput(true);

  String contenttype = connection.getContentType();
  charSet = getCharset(contenttype);

  InputStreamReader isr = new InputStreamReader(
    connection.getInputStream(), charSet);
  BufferedReader br = new BufferedReader(isr);

  String str = null, rs = null;
  while ((str = br.readLine()) != null) {
   rs = getHref(str);

   if (rs != null)
    hrefList.add(rs);
  }

 }

 /**
  * 獲取網(wǎng)頁編碼方式
  * 
  * @param str
  */
 private String getCharset(String str) {
  Pattern pattern = Pattern.compile("charset=.*");
  Matcher matcher = pattern.matcher(str);
  if (matcher.find())
   return matcher.group(0).split("charset=")[1];
  return null;
 }

 /**
  * 從一行字符串中讀取鏈接
  * 
  * @return
  */
 private String getHref(String str) {
  Pattern pattern = Pattern.compile("<a href=.*</a>");
  Matcher matcher = pattern.matcher(str);
  if (matcher.find())
   return matcher.group(0);
  return null;
 }

 public static void main(String[] arg) throws IOException {
  HtmlParser a = new HtmlParser("http://news.163.com/");
  ArrayList<String> hrefList = a.getHrefList();
  for (int i = 0; i < hrefList.size(); i++)
   System.out.println(hrefList.get(i));

 }

}

 

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产真实乱子伦xxxxchina | 亚洲国产一区二区三区a毛片 | 免费视频精品一区二区 | 精品久久久久久久久久久 | 日本大尺度激情做爰叫床 | 日本男男gayxxxxx免费 | 日本理论片中文在线观看2828 | 日韩精品中文字幕视频一区 | 欧美亚洲国产另类 | 国产成人亚洲精品91专区高清 | 日本精品中文字幕在线播放 | 亚洲电影成人 成人影院 | 国产自产2023最新麻豆 | 潘金莲西门庆一级淫片aaaaaa | 亚洲大逼| 99久久精彩视频 | 揉搓喷水h| 久久re这里精品23 | 亚洲免费在线观看 | 免费国产成人高清视频网站 | 97国产精品久久碰碰牛牛 | 欧美一级久久久久久久大片 | 欧美巨胸| 舔大逼| 97porm自拍视频区原创 | 青青操在线 | 91大神在线观看精品一区 | 亚洲高清一区二区三区四区 | 2048论坛永久入口 原创合集 | ts人妖国产一区 | porno中国xxxxx| 亚洲第一综合网站 | 欧美人妖另类性hd | 动漫美女日批 | 日本中文字幕不卡在线一区二区 | 女人c交zzzooo在线观看 | 99r在线播放| 亚洲人成网站在线观看90影院 | 天天综合色天天综合色sb | www.日本在线播放 | 青青草国产青春综合久久 |