JAVA超級簡單的爬蟲實(shí)例講解
爬取整個(gè)頁面的數(shù)據(jù),并進(jìn)行有效的提取信息,注釋都有就不廢話了:
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í)字符串用于保存每一次讀的一行數(shù)據(jù),然后html調(diào)用append方法寫入temp; try { URL url2 = new URL(url1); //獲取URL; is = url2.openStream(); //打開流,準(zhǔn)備開始讀取數(shù)據(jù); br= new BufferedReader(new InputStreamReader(is)); //將流包裝成字符流,調(diào)用br.readLine()可以提高讀取效率,每次讀取一行; while ((temp = br.readLine()) != null) {//讀取數(shù)據(jù),調(diào)用br.readLine()方法每次讀取一行數(shù)據(jù),并賦值給temp,如果沒數(shù)據(jù)則值==null,跳出循環(huán); html.append(temp); //將temp的值追加給html,這里注意的時(shí)String跟StringBuffere的區(qū)別前者不是可變的后者是可變的; } //System.out.println(html); //打印出爬取頁面的全部代碼; if(is!=null) //接下來是關(guān)閉流,防止資源的浪費(fèi); { is.close(); is=null; } Document doc=Jsoup.parse(html.toString()); //通過Jsoup解析頁面,生成一個(gè)document對象; Elements elements=doc.getElementsByClass("XX");//通過class的名字得到(即XX),一個(gè)數(shù)組對象Elements里面有我們想要的數(shù)據(jù),至于這個(gè)div的值呢你打開瀏覽器按下F12就知道了; for (Element element:elements) { System.out.println(element.text()); //打印出每一個(gè)節(jié)點(diǎn)的信息;你可以選擇性的保留你想要的數(shù)據(jù),一般都是獲取個(gè)固定的索引; } } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
上一張自己爬取的圖片,并用fusioncharts生成報(bào)表(一般抓取的是int類型的數(shù)據(jù)的話,生成報(bào)表可以很直觀)
以上這篇JAVA超級簡單的爬蟲實(shí)例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java swing實(shí)現(xiàn)音樂播放器桌面歌詞字體變色效果
這篇文章主要為大家詳細(xì)介紹了Java swing實(shí)現(xiàn)音樂播放器桌面歌詞字體變色效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06java顯示當(dāng)前運(yùn)行時(shí)的參數(shù)(java運(yùn)行參數(shù))
這篇文章主要介紹了java顯示當(dāng)前運(yùn)行時(shí)參數(shù)的示例(java運(yùn)行參數(shù)),需要的朋友可以參考下2014-04-04Java異常處理UncaughtExceptionHandler使用實(shí)例代碼詳解
當(dāng)一個(gè)線程由于未捕獲異常即將終止時(shí),Java虛擬機(jī)將使用thread . getuncaughtexceptionhandler()查詢線程的uncaughtException處理程序,并調(diào)用處理程序的uncaughtException方法,將線程和異常作為參數(shù)傳遞2023-03-03關(guān)于springcloud報(bào)錯(cuò)報(bào)UnsatisfiedDependencyException的問題
這篇文章主要介紹了關(guān)于springcloud報(bào)錯(cuò)報(bào)UnsatisfiedDependencyException的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11JAVA Netty實(shí)現(xiàn)聊天室+私聊功能的示例代碼
這篇文章主要介紹了JAVA Netty實(shí)現(xiàn)聊天室+私聊功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08