<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 170  文章 - 536  trackbacks - 0
    <2007年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    常用鏈接

    我參與的團隊

    隨筆分類(103)

    搜索

    •  

    積分與排名

    • 積分 - 414037
    • 排名 - 135

    最新評論

    閱讀排行榜

        最近股市大牛,相信這里的不少朋友都在炒股,當然上班時間老是開著網頁看股市或是盯著紅紅綠綠的專業股票軟件是總是擔心被周圍同事看到的,但又不時的想著大盤是漲了還是跌了,自己的股票又是如何呢。

        于是用 Java 寫了一套簡單的股市信息跟蹤的小程序,Console 的,用于抓取相應的股市信息并顯示到 console 中,誰也不會想到這個東西會是用來看股市的吧。

        這套小小的程序用到了幾個非常簡單的技術,HttpClient 和 正則表達式。程序功能非常簡單,找到含有股市數據的頁面,使用 HttpClient 抓取下來,通過正則表達式匹配自己需要的內容,在 Console 上打印出來。

        準備花兩篇文章簡單的介紹這個小系統中的實現細節,當然這只是簡單的介紹,其實我們再稍微用點其他的技術,可以做出更多更實用的小工具。比如我就寫了個小爬蟲,把某個基金網站上的基金凈值數據爬來了,足足有10W條,供我做基金形勢分析之用,拿到這些原始數據,再動用一下自己的頭腦,再配合一些方便的工具,比如 Excel,我們便可以用實際數據去輔助投資理財。

            首先我們來簡單的介紹我們用到的第一個工具,HttpClient。

        HttpClient 是 Apache Jakarta Common 下的子項目,可以用來提供高效的、最新的、功能豐富的支持 HTTP 協議的客戶端編程工具包,并且它支持 HTTP 協議最新的版本和建議。
        以下列出的是 HttpClient 提供的主要的功能,要知道更多詳細的功能可以參見 HttpClient 的主頁。
    實現了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
    支持自動轉向
    支持 HTTPS 協議
    支持代理服務器等

    HttpClient 可以在http://jakarta.apache.org/commons/httpclient/downloads.html下載

    HttpClient 基本功能的使用
    GET 方法
    使用 HttpClient 需要以下 6 個步驟:
    1. 創建 HttpClient 的實例
    2. 創建某種連接方法的實例,在這里是 GetMethod。在 GetMethod 的構造函數中傳入待連接的地址
    3. 調用第一步中創建好的實例的 execute 方法來執行第二步中創建好的 method 實例
    4. 讀 response
    5. 釋放連接。無論執行方法是否成功,都必須釋放連接
    6. 對得到后的內容進行處理

    根據以上步驟,我們來編寫用GET方法來取得某網頁內容的代碼。

    根據這樣的過程,我們便可以寫出一個簡單的抓取頁面的方法,該方法返回抓到的頁面數據。傳入的參數是頁面的 URL。

    protected String getURLResponse(String url) {
     try {
      HttpClient client = new HttpClient();
      GetMethod method = new GetMethod(url);
      int returnCode = client.executeMethod(method);
      String response = null;
      if (returnCode == 200) {
       response = EncodingUtil.getString(method.getResponseBody(), "gb2312");
      }
      method.releaseConnection();
      return decode(response);
     } catch (Exception e) {
      return null;
     }
    }

    HttpClient 是一個很實用的工具,用它,我們可以做很多和 Http 有關的事情。
    大家可以參考: http://www.ibm.com/developerworks/cn/opensource/os-httpclient/ 來初步了解 HttpClient 的功能。
    或是去找找 Jakarta.Commons.Cookbook 或者 Jakarta.Commons.Online.Bookshelf,上面介紹了包括 HttpClient 在內的很多 Apache Jakarta Commons 項目,相信合理使用,會讓你事半功倍的。

    下一篇我們將介紹一下如何用正則表達式處理我們抓取到的數據。

    posted on 2007-06-21 22:11 steady 閱讀(1918) 評論(5)  編輯  收藏 所屬分類: 技術隨筆

    FeedBack:
    # re: Java打造簡易股指跟蹤系統(1) 2007-06-21 22:38 itkui
    股民在努力,嘿嘿  回復  更多評論
      
    # re: Java打造簡易股指跟蹤系統(1) 2007-06-22 10:47 garvin
    請問你是通過什么地址抓取這些實時的股票數據呢?
    你提到的“基金網站上的基金凈值數據”又是什么地址呢?
    這些地址使開放的嗎?  回復  更多評論
      
    # re: Java打造簡易股指跟蹤系統(1) 2007-06-22 10:58 steady
    @garvin
    滬深指數:http://web6.jrj.com/homev1/StockIndex.htm
    基金數據來源于和訊基金: http://funds.money.hexun.com/  回復  更多評論
      
    # re: Java打造簡易股指跟蹤系統(1) 2007-06-26 09:50 chl
    可以把源程序共享一下嘛?  回復  更多評論
      
    # re: Java打造簡易股指跟蹤系統(1) 2007-11-15 00:12 nial
    期待中~ 呵呵  回復  更多評論
      
    主站蜘蛛池模板: 四虎影视免费永久在线观看| 亚洲第一成年免费网站| 亚洲综合精品网站在线观看| 免费国产a理论片| 久久国产成人精品国产成人亚洲| 黄色一级毛片免费| 亚洲Av无码国产情品久久| 爱情岛论坛免费视频| 亚洲国产精品自在拍在线播放| 国产精品亚洲一区二区三区| 日韩一区二区在线免费观看 | 免费观看美女裸体网站| 亚洲乱理伦片在线观看中字| 日韩a级毛片免费观看| 免费视频精品一区二区| 国产亚洲成人在线播放va| 丝瓜app免费下载网址进入ios| 精品国产亚洲一区二区三区| 午夜精品一区二区三区免费视频| 亚洲视频在线不卡| 日韩在线视频免费看| 一区二区在线免费视频| 亚洲gv猛男gv无码男同短文| xxxx日本免费| 亚洲AV永久无码天堂影院| 免费a级毛片永久免费| 国产在线观看xxxx免费| 亚洲一级免费毛片| 国产yw855.c免费视频| 国产精品免费无遮挡无码永久视频 | 亚洲国产精品久久久久婷婷软件| 国产va免费观看| 麻豆亚洲AV永久无码精品久久| 国产成人免费爽爽爽视频 | 国产精品成人免费观看| 久久久久亚洲AV片无码下载蜜桃 | 亚洲伊人久久综合中文成人网| 暖暖免费在线中文日本| 最新国产成人亚洲精品影院| 亚洲日本中文字幕天堂网| 91香焦国产线观看看免费|