雖然Java對於網路有很多的支援,但是要直接抓取網頁資料 (大家說的爬網/爬蟲),還是需要寫下不少的程式碼。
針對此,Apache有開發一個 project,為HttpClient,以下介紹如何使用此API,並且簡單介紹如何抓取網頁與記錄網頁在自己的電腦中。(爬網/爬蟲)
Step 1: 先到以下的網址,去抓HttpClient的jar。
 

Step 2: 進入網站後,點擊"Download",然後選擇最新版的HttpClient 4.2.3(GA),下載Binary下的4.2.3.zip (有人會問那不能抓Source下的4.2.3.zip嗎? 當然可以阿,只是zip中沒有jar,不能直接匯入Eclipse or NetBeans,除非你自己想貼資料夾或是自己包jar)。
 

 

Step 3: 抓完後解壓縮,可以在下方的路徑找到jar檔。
 
 

 

Step 4: 直接把這些通通匯入(謎 : 會不會浪費資源阿),然後依照下方的程式碼, 保證可以抓網頁資料下來。
 

 

現在簡單講一下程式碼在做啥:
FileWriter, BufferedWriter, 這兩個類別是用來記錄回傳後的字串,也就是要把網頁資料存在我們的電腦中。

HttpClient 代表開啟了一個類似瀏覽器的動作。
HttpGet則是記錄網址。
HttpResponse則是記錄回傳回來的網頁狀態。
 
把網頁轉成String才方便操作。

注意,這個code只單純處理一個頁面,且存起來的網頁是網頁的原始檔。
所以要應用到自己的需求還有兩個gaps。

第一、自動化網頁網址
建議,自動化的方法就是去看你想抓的網頁彼此之間是不是有關連性(編號一致),然後在這個程式的外面包一個 for or while。
記得記錄的檔案名稱也要跟著換。

第二、處理回傳的原始碼
回傳的頁面原始碼很亂,並不一定符合使用者的需求,所以回傳的String是需要另外寫程式去處理這些檔案的。

大概就是這樣~
 

Reference:

https://www.ewdna.com/2009/11/apache-httpclient-4x-get-post.html

 

arrow
arrow

    葛瑞斯肯 發表在 痞客邦 留言(5) 人氣()