新疆軟件開發

本站首頁 軟件開發 成功案例 公司新聞 公司簡介 客服中心 軟件技術 網站建設
  您現在的位置: 新疆二域軟件開發公司 >> Java技術 >> 文章正文

j2se 嵌入式腳本抓取引擎

本文來源于:http://www.cnblogs.com/birdshover/
J2SE 6.0 (有些地方也叫1.6)增加了腳本嵌入,使JAVA可以模擬動態語言的方式運行。這個類是ScriptEngineManager,被添加在javax.script命名空間中。執行腳本的程序很簡單,看以下代碼:

        ScriptEngineManager m = new ScriptEngineManager();
        ScriptEngine engine = m.getEngineByExtension("js");
        try {
            engine.eval("java.lang.System.out.println(\"測試腳本輸出\");");
        } catch (ScriptException e) {
            log.Log("執行腳本錯誤:" + file.getFileName());
            log.Log(e.getMessage());
        }
在java執行的javascript代碼中也可以調用java對象。這樣就可以由java提供一些API,由javascript來組織邏輯部分。
比如,可以讓上面的代碼執行以下腳本:
var Crawler = com.cnblogs.yurow.engin.Crawler;
var StreamWriter = com.cnblogs.yurow.engin.StreamWriter;
var RAMFile = com.cnblogs.yurow.engin.RAMFile;
var out = java.lang.System.out;
var starturl = "


for(var i = 435112;i<435212;i++){
    var tempurl = starturl + i;
    var content = new Crawler(tempurl).getResponse("utf-8");
    if(content != null){
        var file = new RAMFile(tempurl,content);
        StreamWriter.Save("result/" + i + ".html",file,"utf-8",true);
    }
}
其中Crawler是抓取類,StreamWriter是用來保存文件的,RAMFile是內存中文件的組織結構。這些都是自己定義的java類。
我包裝了一個JCrawler.jar,讀取當前目錄下的js文件以確定需要執行的腳本。這些腳本可能被存放在不同的目錄。讀取到這個目錄列表,然后執行目錄列表中每個javascript的邏輯。
演示抓取程序:

執行其中的bat文件就可以執行抓取,默認把抓取到的文件保存在result目錄下。
寫javascript的時候要注意腳本文件的注釋最好不要使用單行只是“//”,而是要“/*  */”。運行環境需要jre6.0。

作者:佚名 | 文章來源:cnblog | 更新時間:2009-1-19 12:56:40

  • 上一篇文章:

  • 下一篇文章: 沒有了

  • 相關文章:
    NET Framework 2.0 Service Pack 2下載地址
    解析.NET中的6各大的安全錯誤
    .NET中Boolean,bool以及String,string之間的區別
    在VC 程序中自定義Vista事件日志
    .Net FrameWork 2.0 新增功能 Bulk Copy
    教程:.Net多線程和Windows Forms編程
    C++函數對象count_if
    語法C# 問關鍵字之:base、this
    C#中“+”的兩種功能
    透過HTTP進行異步Web Service 呼叫
    軟件技術
    · 開發語言
    · Java技術
    · .Net技術
    · 數據庫開發
    最新文章  
    ·j2se 嵌入式腳本抓取引擎
    ·JAVA開發的6個實踐的例子
    ·JBuilder7 / Weblogic7開發
    ·JAVA中的抽象類型的一些概
    ·java語言開發程序中的幾個
    ·了解java開發語言在軟件開
    ·如何才能使用Java實現內部
    ·Java開發學習小心使用Date
    ·Java程序員應該了解那些開
    ·java性能優化的一些見解
    ·介紹JDK5.0一些collection
    ·基礎學習:java中使用存儲
    ·解析c#語言和java語言最相
    ·Java語言學習:jAVA中 的多
    ·Java是不是應該增加新特性
    關于我們 | 軟件開發 | 下載試用 | 客服中心 | 聯系我們 | 友情鏈接 | 網站地圖 | 新疆電子地圖 | RSS訂閱
    版權所有 © 2016 新疆二域軟件開發網 www.asuburbanlife.com All Rights Reserved 新ICP備14003571號
    新疆軟件開發總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯大廈A-5C 郵編:830000
     
    亚洲伊人成综合人影院小说,亚洲永久无码浪潮,思思99re8这里有精品热视频