JAVA超級簡單的爬蟲例子(1)

来源:http://www.cnblogs.com/hckblogs/archive/2017/10/29/7751974.html
-Advertisement-
Play Games

爬取整個頁面的數據,併進行有效的提取信息,註釋都有就不廢話了: 上一張自己爬取的圖片,並用fusioncharts生成報表(一般抓取的是int類型的數據的話,生成報表可以很直觀) ...


爬取整個頁面的數據,併進行有效的提取信息,註釋都有就不廢話了:

public class Reptile {
   
   public static void main(String[] args) {       
    String url1="";          //傳入你所要爬取的頁面地址
    InputStream is=null;     //創建輸入流用於讀取流
    BufferedReader br=null;  //包裝流,加快讀取速度
    StringBuffer html=new StringBuffer(); //用來保存讀取頁面的數據.
    String  temp=""; //創建臨時字元串用於保存每一次讀的一行數據,然後html調用append方法寫入temp;
    try {
        URL url2 = new URL(url1); //獲取URL;
        is = url2.openStream();   //打開流,準備開始讀取數據;
        br= new BufferedReader(new InputStreamReader(is)); //將流包裝成字元流,調用br.readLine()可以提高讀取效率,每次讀取一行;
        while ((temp = br.readLine()) != null) {//讀取數據,調用br.readLine()方法每次讀取一行數據,並賦值給temp,如果沒數據則值==null,跳出迴圈;
        html.append(temp); //將temp的值追加給html,這裡註意的時String跟StringBuffere的區別前者不是可變的後者是可變的;
        }
        //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),一個數組對象Elements裡面有我們想要的數據,至於這個div的值呢你打開瀏覽器按下F12就知道了;
        for (Element element:elements) {
            System.out.println(element.text()); //列印出每一個節點的信息;你可以選擇性的保留你想要的數據,一般都是獲取個固定的索引;        
        }            
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    
    
    
}

上一張自己爬取的圖片,並用fusioncharts生成報表(一般抓取的是int類型的數據的話,生成報表可以很直觀)

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 公司自己塔建的半自動化代碼生成項目 用法: 把csv文件放到src/resources/csv下,運行GenMain.java,生成的代碼在target/output下。 對GenMain.java進行適當的修改,可以控制生成的代碼有哪些,Pojo,Dao,Srv,ISrv,Action,PageJ ...
  • yii2在使用的時候,訪問控制器的時候,如果控制器的名稱是駝峰命名法,那訪問的url中要改成橫線的形式。例如: 最近在做某渠道的直連的時候,他們提供的文檔上明確指出介面的形式: 剛開始以為YII2中肯定有這樣的設置,然後就去google了下,發現都說不行,自己去看了下,果然,框架裡面直接是寫死的:( ...
  • 主頁面代碼 處理頁面代碼 ...
  • 1、實現介面的抽象類——適配器 即用了介面,又用了抽象類,關鍵是Window win=new MyWindow(); MyWindow子類並沒有直接實現Window介面,而是通過中間的抽象類建立了橋梁 2、代理公司的方法——功能更強大的包裝類 自己要錢的能力太弱小,通過強大的代理來完成要錢,包裝類 ...
  • 本節內容 - C參數複製,返回值 - Go參數複製,返回值 - 優化模式對參數傳遞的影響 ...
  • Social Net ZOJ - 3649 題意: 反正原題題意我是看不懂... 參考:http://www.cnblogs.com/names-yc/p/4922867.html 給出一幅圖,求最大生成樹,輸出邊權之和,併在這棵樹上進行查詢操作:給出兩個結點編號x和y,求從x到y的路徑上,由每個結 ...
  • 1. 對於泛型類而言,你若沒有指明其類型,預設為Object; 2. 在繼承泛型類以及介面的時候可以指明泛型的類型,也可以不指明; 3. 泛型也資料庫中的應用: 寫一個 DAO 類對資料庫中的數據進行增刪改查其類型聲明為 <T> 。每張表對應一個類,對應每一張表實現一個類繼承該 DAO 類並指明 D ...
  • 1.Java有三種訪問許可權修飾符,分別為public、protected、private,還有一種為預設許可權修飾符的情況,記為default。其中,可以由public和default來修飾類;這四種修飾符都可以修飾成員變數和成員方法。每一種修飾符對應不同的訪問範圍,下麵以下圖為例詳細說明。 圖1 p ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...