国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java簡單網頁抓取的實現方法

2019-11-26 15:20:04
字體:
來源:轉載
供稿:網友

本文實例講述了java簡單網頁抓取的實現方法。分享給大家供大家參考。具體分析如下:

背景介紹

一 tcp簡介

  1 tcp 實現網絡中點對點的傳輸

  2 傳輸是通過ports和sockets

  ports提供了不同類型的傳輸(例如 http的port是80)

    1)sockets可以綁定在特定端口上,并且提供傳輸功能

    2)一個port可以連接多個socket

二 URL簡介

URL 是對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。

互聯網上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎么處理它。

綜上,我們要抓取網頁的內容實質上就是通過url來抓取網頁內容。

Java提供了兩種方法:

一種是直接從URL讀取網頁

一種是通過 URLConnection來讀取網頁

其中的URLConnection是以http為核心的類,提供了很多關于連接http的函數

本文將給出基于URLConnection的實例代碼。

在此之前我們先來看下關于url的異常。不了解java異常機制的請參看上一篇博文。

構造URL的異常MalformedURLException產生條件:url的字符串為空或者是不能辨認的協議

建立 URLConnection的異常 IOException產生條件: openConnection失敗,注意openConnection時 代碼還未連接遠程,只是為連接遠程做準備

綜上所述,最終代碼如下:

復制代碼 代碼如下:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class SimpleNetSpider {

    public static void main(String[] args) {

        try{
            URL u = new URL("http://docs.oracle.com/javase/tutorial/networking/urls/");
            URLConnection connection = u.openConnection();
            HttpURLConnection htCon = (HttpURLConnection) connection;
            int code = htCon.getResponseCode();
            if (code == HttpURLConnection.HTTP_OK)
            {
                System.out.println("find the website");
                BufferedReader in=new BufferedReader(new InputStreamReader(htCon.getInputStream()));
                String inputLine;
                while ((inputLine = in.readLine()) != null)
                        System.out.println(inputLine);
                    in.close();
            }
            else
            {
                System.out.println("Can not access the website");
            }
        }
        catch(MalformedURLException e )
        { 
            System.out.println("Wrong URL");
        }
        catch(IOException e)
        {
            System.out.println("Can not connect");
        }
    }
}

希望本文所述對大家的Java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 驻马店市| 盈江县| 游戏| 扶绥县| 毕节市| 庐江县| 苏尼特右旗| 同德县| 武汉市| 永春县| 唐海县| 晴隆县| 长武县| 涞水县| 咸宁市| 延长县| 张家口市| 荆门市| 新化县| 河北省| 建平县| 盖州市| 平罗县| 盐池县| 柘城县| 招远市| 娱乐| 宕昌县| 棋牌| 新竹市| 阜新市| 惠州市| 凯里市| 略阳县| 哈密市| 台南市| 湖北省| 富阳市| 忻城县| 富蕴县| 巨野县|