哪吒2之魔童闹海|哪吒2之魔童归来免费观看|哪吒2在线观看|哪吒2魔童闹海电影免费观看|哪吒2免费观看完整版大电影|哪吒1免费观看完整版

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> Java技術(shù) >> 文章正文

j2se 嵌入式腳本抓取引擎

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

        ScriptEngineManager m = new ScriptEngineManager();
        ScriptEngine engine = m.getEngineByExtension("js");
        try {
            engine.eval("java.lang.System.out.println(\"測(cè)試腳本輸出\");");
        } catch (ScriptException e) {
            log.Log("執(zhí)行腳本錯(cuò)誤:" + file.getFileName());
            log.Log(e.getMessage());
        }
在java執(zhí)行的javascript代碼中也可以調(diào)用java對(duì)象。這樣就可以由java提供一些API,由javascript來組織邏輯部分。
比如,可以讓上面的代碼執(zhí)行以下腳本:
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是內(nèi)存中文件的組織結(jié)構(gòu)。這些都是自己定義的java類。
我包裝了一個(gè)JCrawler.jar,讀取當(dāng)前目錄下的js文件以確定需要執(zhí)行的腳本。這些腳本可能被存放在不同的目錄。讀取到這個(gè)目錄列表,然后執(zhí)行目錄列表中每個(gè)javascript的邏輯。
演示抓取程序:

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

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

  • 上一篇文章:

  • 下一篇文章: 沒有了

  • 相關(guān)文章:
    NET Framework 2.0 Service Pack 2下載地址
    解析.NET中的6各大的安全錯(cuò)誤
    .NET中Boolean,bool以及String,string之間的區(qū)別
    在VC 程序中自定義Vista事件日志
    .Net FrameWork 2.0 新增功能 Bulk Copy
    教程:.Net多線程和Windows Forms編程
    C++函數(shù)對(duì)象count_if
    語法C# 問關(guān)鍵字之:base、this
    C#中“+”的兩種功能
    透過HTTP進(jìn)行異步Web Service 呼叫
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·j2se 嵌入式腳本抓取引擎
    ·JAVA開發(fā)的6個(gè)實(shí)踐的例子
    ·JBuilder7 / Weblogic7開發(fā)
    ·JAVA中的抽象類型的一些概
    ·java語言開發(fā)程序中的幾個(gè)
    ·了解java開發(fā)語言在軟件開
    ·如何才能使用Java實(shí)現(xiàn)內(nèi)部
    ·Java開發(fā)學(xué)習(xí)小心使用Date
    ·Java程序員應(yīng)該了解那些開
    ·java性能優(yōu)化的一些見解
    ·介紹JDK5.0一些collection
    ·基礎(chǔ)學(xué)習(xí):java中使用存儲(chǔ)
    ·解析c#語言和java語言最相
    ·Java語言學(xué)習(xí):jAVA中 的多
    ·Java是不是應(yīng)該增加新特性
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.pg11qqq.com All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000