天天看點

Java 網絡爬蟲擷取網頁源代碼原理及實作

  1.網絡爬蟲是一個自動提取網頁的程式,它為搜尋引擎從網際網路上下載下傳網頁,是搜尋引擎的重要組成。傳統爬蟲從一個或若幹初始網頁的URL開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從目前頁面上抽取新的URL放入隊列,直到滿足系統的一定停止條件。

  2.那麼程式擷取網頁的原理到底是怎麼回事呢?看下面的圖:客服端首先向伺服器端發出Http請求,之後伺服器端傳回相應的結果或者請求逾時用戶端自己報錯。

Java 網絡爬蟲擷取網頁源代碼原理及實作

  伺服器端發出的Http請求,實際上說是對伺服器的檔案的請求。下面的表格是一些常見的HTTP請求對應的檔案。(因為第一列給出的都是主機的網址資訊,主機一般都通過配置檔案将該請求轉換為網站首頁位址index.php或index.jsp或者index.html等)

HTTP請求

HTTP對應的檔案

 http://www.baidu.com

 http://www.baidu.com/index.php

 http://www.sina.com.cn

 http://www.sina.com.cn/index.html

 http://www.cnblogs.com

 http://www.cnblogs.com/index.html

 http://ac.jobdu.com

 http://ac.jobdu.com/index.php

   3.java實作網頁源碼擷取的步驟:

  (1)建立URL對象,表示要通路的網址。如:url=new URL("http://www.sina.com.cn");

  (2)建立HTTP連接配接,傳回連接配接對象urlConnection對象。如:urlConnection = (HttpURLConnection)url.openConnection();

  (3)擷取相應HTTP 狀态碼。如responsecode=urlConnection.getResponseCode();

  (4)如果HTTP 狀态碼為200,表示成功。從urlConnection對象擷取輸入流對象來擷取請求的網頁源代碼。

  4.java擷取網頁源碼代碼: