JAVA超級簡單的爬蟲實例講解
更新時間:2017年10月30日 08:28:41 作者:C_凱
下面小編就為大家?guī)硪黄狫AVA超級簡單的爬蟲實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
爬取整個頁面的數(shù)據(jù),并進行有效的提取信息,注釋都有就不廢話了:
public class Reptile {
public static void main(String[] args) {
String url1=""; //傳入你所要爬取的頁面地址
InputStream is=null; //創(chuàng)建輸入流用于讀取流
BufferedReader br=null; //包裝流,加快讀取速度
StringBuffer html=new StringBuffer(); //用來保存讀取頁面的數(shù)據(jù).
String temp=""; //創(chuàng)建臨時字符串用于保存每一次讀的一行數(shù)據(jù),然后html調用append方法寫入temp;
try {
URL url2 = new URL(url1); //獲取URL;
is = url2.openStream(); //打開流,準備開始讀取數(shù)據(jù);
br= new BufferedReader(new InputStreamReader(is)); //將流包裝成字符流,調用br.readLine()可以提高讀取效率,每次讀取一行;
while ((temp = br.readLine()) != null) {//讀取數(shù)據(jù),調用br.readLine()方法每次讀取一行數(shù)據(jù),并賦值給temp,如果沒數(shù)據(jù)則值==null,跳出循環(huán);
html.append(temp); //將temp的值追加給html,這里注意的時String跟StringBuffere的區(qū)別前者不是可變的后者是可變的;
}
//System.out.println(html); //打印出爬取頁面的全部代碼;
if(is!=null) //接下來是關閉流,防止資源的浪費;
{
is.close();
is=null;
}
Document doc=Jsoup.parse(html.toString()); //通過Jsoup解析頁面,生成一個document對象;
Elements elements=doc.getElementsByClass("XX");//通過class的名字得到(即XX),一個數(shù)組對象Elements里面有我們想要的數(shù)據(jù),至于這個div的值呢你打開瀏覽器按下F12就知道了;
for (Element element:elements) {
System.out.println(element.text()); //打印出每一個節(jié)點的信息;你可以選擇性的保留你想要的數(shù)據(jù),一般都是獲取個固定的索引;
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
上一張自己爬取的圖片,并用fusioncharts生成報表(一般抓取的是int類型的數(shù)據(jù)的話,生成報表可以很直觀)

以上這篇JAVA超級簡單的爬蟲實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java swing實現(xiàn)音樂播放器桌面歌詞字體變色效果
這篇文章主要為大家詳細介紹了Java swing實現(xiàn)音樂播放器桌面歌詞字體變色效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06
java顯示當前運行時的參數(shù)(java運行參數(shù))
這篇文章主要介紹了java顯示當前運行時參數(shù)的示例(java運行參數(shù)),需要的朋友可以參考下2014-04-04
Java異常處理UncaughtExceptionHandler使用實例代碼詳解
當一個線程由于未捕獲異常即將終止時,Java虛擬機將使用thread . getuncaughtexceptionhandler()查詢線程的uncaughtException處理程序,并調用處理程序的uncaughtException方法,將線程和異常作為參數(shù)傳遞2023-03-03
關于springcloud報錯報UnsatisfiedDependencyException的問題
這篇文章主要介紹了關于springcloud報錯報UnsatisfiedDependencyException的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
JAVA Netty實現(xiàn)聊天室+私聊功能的示例代碼
這篇文章主要介紹了JAVA Netty實現(xiàn)聊天室+私聊功能的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08

