激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - JAVA教程 - java抓取網頁數據獲取網頁中所有的鏈接實例分享

java抓取網頁數據獲取網頁中所有的鏈接實例分享

2019-10-26 16:58java教程網 JAVA教程

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

效果圖

java抓取網頁數據獲取網頁中所有的鏈接實例分享
 

復制代碼代碼如下:


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 {
 /**
  * 要分析的網頁
  */
 String htmlUrl;

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

 /**
  * 網頁編碼方式
  */
 String charSet;

 public HtmlParser(String htmlUrl) {
  // TODO 自動生成的構造函數存根
  this.htmlUrl = htmlUrl;
 }

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

  parser();
  return hrefList;
 }

 /**
  * 解析網頁鏈接
  * 
  * @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);
  }

 }

 /**
  * 獲取網頁編碼方式
  * 
  * @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));

 }

}

 

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: av中文在线观看 | 亚洲成人免费电影 | 91精品中文字幕 | 国产精品免费一区二区三区都可以 | 欧美一级片免费在线观看 | 日韩电影av在线 | 爱草在线 | 久久精品美乳 | 久久国产精品91 | 久久精品小短片 | 国人精品视频在线观看 | 久久久日韩精品一区二区三区 | 欧美天堂一区 | 久久精品视频免费观看 | 久草资源在线观看 | 免费啪视频在线观看 | 久久亚洲精品视频 | 免费国产wwwwwww网站 | 久久17 | 国产精品久久久久久久久久10秀 | 成人在线观看免费高清 | 澳门一级淫片免费视频 | 成年人性视频 | 欧美一区永久视频免费观看 | 欧美精品一区自拍a毛片在线视频 | 午夜久久久精品一区二区三区 | 天海翼无删减av三级在线观看 | 91精品一区二区综合在线 | 色婷婷av一区二区三区久久 | 成年免费网站 | 日本欧美中文字幕 | 国产精品久久久久久久久久电影 | 日韩精品一区二区在线播放 | av国产在线被下药迷网站 | 极品xxxx欧美一区二区 | 日本成人在线播放 | 亚洲国产精品一区二区精品 | 国产精品国产成人国产三级 | 一级免费a | av在线影片 | 91超在线|