隨筆-26  評論-111  文章-19  trackbacks-0
            2006年5月29日
          在Window下啟動Hadoop-0.21.0版本時,會出現下面這樣的錯誤提示:

           1 java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName
           2 Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.PlatformName
           3 
           4         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
           5         at java.security.AccessController.doPrivileged(Native Method)
           6         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
           7         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
           8         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
           9         at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
          10 Could not find the main class: org.apache.hadoop.util.PlatformName.  Program wil
          11 l exit.

          經過不斷的查找原因和嘗試,終于有了解決這個錯誤的辦法,只需要將${HADOOP_HOME}/bin/hadoop-config.sh文件中的第190行的一下的內容

          JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} -Xmx32m ${HADOOP_JAVA_PLATFORM_OPTS} org.apache.hadoop.util.PlatformName | sed -"s/ /_/g"`


          修改成以下的內容即可

          JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} -Xmx32m -classpath ${HADOOP_COMMON_HOME}/hadoop-common-0.21.0.jar org.apache.hadoop.util.PlatformName | sed -"s/ /_/g"`


          posted @ 2010-09-29 17:03 snoics 閱讀(12405) | 評論 (7)編輯 收藏
              下載地址:http://code.google.com/p/snoics-retrieval/

              版本更新說明

          V1.01

                          1、提高創建索引的效率

                   2、通過對象池管理IndexWriterIndexReader對象

                   3、修正若干BUG

          V1.0

                   初始版本



          基于Lucene的全文檢索框架,提供快速方便的索引創建及查詢方式,并提供擴展功能對框架進行擴展。

              項目地址:http://code.google.com/p/snoics-retrieval/

              

             環境要求

          Java1.5+

          Lucene 3.0+



          posted @ 2010-09-28 16:33 snoics 閱讀(2403) | 評論 (1)編輯 收藏


          做了一些小的修改和調整

          基于Lucene的全文檢索框架,提供快速方便的索引創建及查詢方式,并提供擴展功能對框架進行擴展。

              項目地址:http://code.google.com/p/snoics-retrieval/

              

          環境要求

          Java1.5+

          Lucene 3.0+

          posted @ 2010-08-18 15:00 snoics 閱讀(2087) | 評論 (0)編輯 收藏
               摘要:        對四則運算表達式字符串進行解析后計算出結果,可以使用逆波蘭表達式進行處理。        首先說明一下什是逆波蘭表達式:         逆波蘭表達式又叫做后綴表達...  閱讀全文
          posted @ 2010-07-29 17:44 snoics 閱讀(3402) | 評論 (2)編輯 收藏
               摘要:         基于自己的興趣,利用業務時間在Lucene基礎上做的一個搜索框架,請大家多多指教。 一、        介紹 基于Lucene的全文檢索框架,提供快速方便的索引創建及查詢方式,并提供擴展功能對框架進行擴展。  &nbs...  閱讀全文
          posted @ 2010-07-26 08:06 snoics 閱讀(2761) | 評論 (0)編輯 收藏
              Myeclipse 7 的插件安裝方式與原先的方式完全不一樣了,下面以JBossTools-2.1.2.GA插件安裝為例進行說明。

              假設
                      Myeclipse 7的安裝路徑為:C:\Genuitec
                      JBossTools-2.1.2.GA插件的路徑為:  C:\eclipse-plugins\plugins\JBossTools-2.1.2.GA-ALL-win32

              將下面這段代碼編譯后執行:

              
           1package test;
           2
           3import java.io.File;
           4import java.util.ArrayList;
           5import java.util.List;
           6
           7
           8/**
           9 * Descript: 
          10 *
          11 *
          12 */

          13
          14public class CreatePluginsConfig {
          15    private String path;
          16    
          17    public CreatePluginsConfig(String path){
          18        this.path=path;
          19    }

          20    
          21    public void print(){
          22        List list=getFileList(path);
          23        if(list==null){
          24            return;
          25        }

          26        
          27        int length=list.size();
          28        for(int i=0;i<length;i++){
          29            String result="";
          30            String thePath=getFormatPath(getString(list.get(i)));
          31            File file=new File(thePath);
          32            if(file.isDirectory()){
          33                String fileName=file.getName();
          34                if(fileName.indexOf("_")<0){
          35                    continue;
          36                }

          37                String[] filenames=fileName.split("_");
          38                String filename1=filenames[0];
          39                String filename2=filenames[1];
          40                result=filename1+","+filename2+",file:/"+path+"\\"+fileName+"\\,4,false";
          41                System.out.println(result);
          42            }
          else if(file.isFile()){
          43                String fileName=file.getName();
          44                if(fileName.indexOf("_")<0){
          45                    continue;
          46                }

          47                String[] filenames=fileName.split("_");
          48                String filename1=filenames[0];
          49                String filename2=filenames[1].substring(0, filenames[1].lastIndexOf("."));
          50                result=filename1+","+filename2+",file:/"+path+"\\"+fileName+",4,false";
          51                System.out.println(result);
          52            }

          53            
          54        }

          55    }

          56    
          57    public List getFileList(String path){
          58        path=getFormatPath(path);
          59        path=path+"/";
          60        File filePath=new File(path);
          61        if(!filePath.isDirectory()){
          62            return null;
          63        }

          64        String[] filelist=filePath.list();
          65        List filelistFilter=new ArrayList();
          66
          67        for(int i=0;i<filelist.length;i++){
          68            String tempfilename=getFormatPath(path+filelist[i]);
          69            filelistFilter.add(tempfilename);
          70        }

          71        return filelistFilter;
          72    }

          73    
          74    public String getString(Object object){
          75        if(object==null){
          76            return "";
          77        }

          78        return String.valueOf(object);
          79    }

          80    
          81    public String getFormatPath(String path) {
          82        path = path.replaceAll("\\\\""/");
          83        path = path.replaceAll("//""/");
          84        return path;
          85    }

          86    
          87    public static void main(String[] args){
          88        new CreatePluginsConfig("C:\\eclipse-plugins\\plugins\\JBossTools-2.1.2.GA-ALL-win32\\eclipse\\plugins").print();
          89    }

          90}
              
              執行完之后,將控制臺中打印出的執行結果,直接復制到下面這個文件中:

              C:\Genuitec\MyEclipse 7.0\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info

              然后用 -clean 命令重新啟動Myeclipse即了完成插件的安裝。
              
          posted @ 2008-12-15 13:41 snoics 閱讀(8476) | 評論 (13)編輯 收藏

                  “不要重新發明輪子?。?!”

                  乍聽之下,這一句話似乎是很有道理。確實在很多情況下,這句話是很有道理??墒鞘獠恢谶@一句冠冕堂皇的理由下,有多少的創意、多少的激情被抹殺了?

                  在很多情況下,有些中國的程序員只要自己想做一些有創造性的工作,確總是被上級或其他的某些同行嘲笑“你要做的這個東西已經有現成的了,有必要再花時間去做嗎?你能做的比別人做出來的東西更好嗎?你這是在重新發明輪子,而且是不好的輪子。”

                  結果,一個接著一個的萌芽被‘不要重新發明輪子’這個古訓扼殺了。

                  想起來真是覺得很悲哀也很無奈,中國的程序員永遠只能使用外國人的技術,甚至其中有不少都是已經快要過時了才開始在中國普及開。一個接著一個的流行框架在國外的人手中產生出來,為什么他們就可以重新發明輪子,而我們就不行呢?死守古訓導致的唯一的結果就是無法進步,永遠只能使用別人的東西,最多就是羅列了一堆會使用的框架,真正的技術都是掌握在別人的手里。

                   有一次面試,簡歷上列出了會使用:JSF,SPRING,HIBERNATE(還有不少其他的,具體的記不太清了),而且已經參與開發過了兩個WEB類型的項目,并且已經通過了SCJP認證。結果確連幾種List的區別,HashTable和HashMap的區別都分不清,設計模式方面更是慘不忍睹,甚至更不可思議的是連使用HTML語法畫出一個稍顯復雜的表格都辦不到。回答是:因為都是使用框架和框架提供的標簽,所以不需要接觸這些……

                  還是那句話:有時候是該反省反省,除了框架,自己還剩下什么?



          posted @ 2008-04-24 12:52 snoics 閱讀(1821) | 評論 (2)編輯 收藏
               摘要:           數據分頁顯示是一項挺煩人的工作,涉及到數據來源,數據生成,數據顯示這幾個方面。數據有可能是從任意地方以任意方式獲取到的,而且獲取到的數據又有可能是經過了任意的方式處理之后,再以任意的方式顯示給最終用戶。         這...  閱讀全文
          posted @ 2008-03-25 11:39 snoics 閱讀(2953) | 評論 (3)編輯 收藏
          IE有時會在打開一些頁面時出現

          此對話框出現錯誤。

          錯誤:53
          存儲空間不足,無法完成此操作


          的錯誤提示框,導致頁面最終無法打開


          經過很長時間,終于發現在IE7中解決這個問題的解決方法

          在IE7中進行如下操作:

          Tools-->Internet Options-->Programs-->Advanced-->Reset-->Reset

          這樣講IE7中的各項配置,包括插件全部都恢復到IE7剛安裝完時的最初始化的狀態,之前的那個錯誤也解決了。



          posted @ 2008-03-24 20:38 snoics 閱讀(6122) | 評論 (5)編輯 收藏
                  迷惑了一段時間,現在終于想通了,還是繼續以前的執著,繼續朝以前的那個目標不斷努力吧。差點就放棄了,不過還是終于還是又回來了。

                  一定要,也一定會變得更強,對自己有信心    ^_^

          posted @ 2007-11-25 18:51 snoics 閱讀(1088) | 評論 (2)編輯 收藏
          ????
          ?????????? 最近因為工作太忙的原因,一直沒有時間來更新,現在放出2.1的版本(包含最新的源代碼)。

          ??????? 下載地址:
          ?????????????????????????snoics-reptile2.1.part1.rar
          ?????????????????????????snoics-reptile2.1.part2.rar
          ?????????????????????????snoics-reptile2.1.part3.rar
          ?????????????????????????snoics-reptile2.1.part4.rar

          ????????? (大家有什么意見可以在這里提出,只要有時間,我會盡量更新,有什么建議可以在blog里面提出,或者加我的MSN一起討論。? ^_^ )

          版本歷史

          2.1:

          1、不用再配置snoics-configpath.xml中的路徑。
          2、定時自動保存Cache
          3、修改了一些Bug
          2.0:

          核心代碼全部重寫,增加了擴展性,通過擴展之后,基本上能實現對整個網站完整的解析

          1.0:

          實現了整站抓取的基本的功能,不能解析特殊的URL,對javascript無法辨認
          posted @ 2006-10-27 21:05 snoics 閱讀(4830) | 評論 (21)編輯 收藏
          發現貓撲的電臺不錯,把它作成遨游的插件了,放上來與大家分享。

          下載以后把文件解壓到遨游的插件目錄下,就會在側邊攔出現MOP的電臺,用起來很方便。


          http://www.aygfsteel.com/Files/snoics/MOP.rar
          posted @ 2006-09-06 19:28 snoics 閱讀(1307) | 評論 (0)編輯 收藏

          ??? 有些人說不知道snoics-reptile中的snoics-systemconfig.xml不知道怎么配置,這里就給出一個CSDN中Java文檔中心的抓取配置的抓取配置。

          ???? 在抓取完了之后往Apache的httpd.conf中加入
          Listen 10001
          <VirtualHost *:10001>
          ??? DocumentRoot D:\\temp\\reptile\\website
          </VirtualHost>
          ???? 這段配置。


          ???? 最后刪除抓取下來的文件夾中的D:\temp\reptile\website\author\index.html這個文件。不知道為什么文檔中心的這個URL是一個空的頁面http://dev.csdn.net/author? ,把這個URL的相對應的抓取下的文件刪除就可以正常使用了

          ???? 在抓取的過程中,有些圖片文件可能會出現錯誤,不過不影響使用,因為這些圖片的路徑本身大概就有些問題。


          ????? 附件-配置文件:http://www.aygfsteel.com/Files/snoics/snoics-systemconfig.rar

          posted @ 2006-08-19 14:30 snoics 閱讀(1565) | 評論 (0)編輯 收藏
          源代碼發布

          snoics-reptile?網頁爬蟲2.0?
          作者: 施偉
          EMail: snoics@hotmail.com
          主頁: http://www.aygfsteel.com/snoics


          FAQ


          1、snoics-reptile是什么?

          ????是用純Java開發的,用來進行網站鏡像抓取的工具,可以使用配制文件中提供的URL入口,
          把這個網站所有的能用瀏覽器通過GET的方式獲取到的資源全部抓取到本地,包括網頁和各
          種類型的文件,如:圖片、flash、mp3、zip、rar、exe等文件??梢詫⒄麄€網站完整地下傳至
          硬盤內,并能保持原有的網站結構精確不變。只需要把抓取下來的網站放到web服務器
          (如:Apache)中,就可以實現完整的網站鏡像。

          2、現在已經有了其他的類似的軟件,為什么還要開發snoics-reptile?

          ????因為有些在抓取的過程中經常會出現錯誤的文件,而且對很多使用
          javascript控制的URL沒有辦法正確的解析,而snoics-reptile通過對外提供
          接口和配置文件的形式,對特殊的URL,可以通過自由的擴展對外提
          供的接口,并通過配置文件注入的方式,基本上能實現對所有的網頁都
          正確的解析和抓取。

          3、如何使用?

          ????a、配置 bin\snoics-configpath.xml 文件

          ????????將配置文件中的path節點的值改為conf文件夾在系統中的絕對路徑,
          ????????如: c:\snoics-reptile\conf

          ????b、配置 conf\snoics-systemconfig.xml 文件

          ????????其中parameters節點中的配置為對需要抓取的網站的參數的配置,

          ????????以下是各個參數的說明:

          ????????1、websitename:

          ????????站點的名稱(不能為空,由字母和數字組成)

          ????????2、charsetName:

          ????????該站點使用的字符集類型

          ????????3、website:

          ????????將被抓取的站點的域名

          ????????4、startpage:

          ????????抓取的起始頁面

          ????????5、url:

          ????????該站點中將被抓取的部分(如果留空則為整個站點,可以有多個URL,
          每個URL之間使用";"隔開)

          ????????6、remoteurlflag:

          ????????代表遠程URL的標志,沒有特殊情況請不要修改此處,使用默認值
          (多個之間使用";"隔開)

          ????????7、forbidurl:

          ????????該站點中不被抓取的部分(多個之間使用";"隔開)

          ????????8、cachefile:

          ????????該站點使用的緩存文件,如果緩存文件不存在則自動創建一個新的,
          如果已經存在,則會載入文件中保存的信息

          ????????9、filerootpath:

          ????????抓取下的文件的保存路徑(必須是系統中的絕對路徑)

          ????????10、indexpage:

          ????????將被保存成index.html文件名的URL類型(多個之間使用";"隔開)

          ????????11、filenamelength:

          ????????頁面保存到本地時,隨機生成的文件名的長度

          ????????12、cacheunitsize:

          ????????一個cache單元的大小

          ????????13、reptile-downloadfiletype:

          ????????將被抓取到本地的文件類型(多個之間使用";"隔開)

          ????????14、reptile-undownloadfiletype:

          ????????頁面被保存到本地時,該種類型的文件的URL將被改成遠程的URL地址
          ,如果這種類型出現在reptile-downloadfiletype中時,則文件將被抓取到本地,
          而URL也將改成本地的URL(多個之間使用";"隔開)

          ????c、在參數配置好之后,執行bin/run.bat文件

          4、如何擴展接口?

          ????擴展接口使用的配置文件是:conf/snoics-reptile-urlregex.xml

          ????首先加入一段如下的配置
          ????<bean id="ahrefRegexUrl" class="com.snoics.reptile.regex.url.impl.UrlRegex" singleton="false">
          ????????<property name="regexUrl">
          ????????????<!-- 提取可能包含URL的字符串 -->
          ????????????<value><![CDATA[<[^!<>]*\shref\s*=\s*["']?[^<>]*["'\s][^<>]*>]]></value>
          ????????</property>
          ????????<property name="replaceRegexUrl">
          ????????????<!-- 替換可能包含URL的字符串 -->
          ????????????<value><![CDATA[<[^!<>]*\shref\s*=\s*["']?reptile-replace-string["'\s][^<>]*>]]></value>
          ????????</property>
          ????????<property name="getRegexUrl">
          ????????????<!-- 提取最終URL -->
          ????????????<ref bean="ahrefGetRegexUrl"/>
          ????????</property>
          ????</bean>
          ????

          ????其中ahrefGetRegexUrl是實現了com.snoics.reptile.regex.url.IGetUrlRegex接口的類,用來從可能包含了URL的字符串里面提取其中包含的URL


          ??? 其次加入如下的配置:

          ???? <bean id="ahrefGetRegexUrl" class="com.snoics.reptile.regex.url.impl.AhrefGetRegexUrl" singleton="false">
          ???????? <property name="regexString">
          ????????????? <!-- 提取最終URL -->
          ?????????????? <value><![CDATA[href\s*=\s*["']?[^\s"]+["'\s]\s*]]></value>
          ???????? </property>
          ???????? <property name="unIncludeRegexString">
          ??????????????? <!--
          ???????????????????? 排除不需要的類型
          ???????????????????? 多個正則表達式之間使用';'隔開
          ???????????????? ?-->
          ??????????????? ?<value><![CDATA[javascript\s?:\s?;mailto\s?:\s?;^#$;]]></value>
          ?????????? </property>
          ????? </bean>


          ????最后,在如下的配置中,加入剛才配置好的部分

          ????<bean id="urlRegexMap" class="com.snoics.reptile.regex.url.impl.UrlRegexMap">
          ????????<property name="ulrRegexMap">
          ????????????<map>
          ????????????????<!-- 名稱 -->
          ????????????????<entry key="ahref">
          ????????????????????<!-- 解析URL使用的類 -->
          ????????????????????<ref bean="ahrefRegexUrl"/>
          ????????????????</entry>
          ????????????????<entry key="src">
          ????????????????????<ref bean="srcRegexUrl"/>
          ????????????????</entry>
          ????????????</map>
          ????????</property>
          ????</bean>


          5、版本歷史

          2.0:

          核心代碼全部重寫,增加了擴展性,通過擴展之后,基本上能實現對整個網站完整的解析

          1.0:

          實現了整站抓取的基本的功能,不能解析特殊的URL,對javascript無法辨認

          源代碼下載地址:

          snoics-reptile2.0-src.part1.rar
          snoics-reptile2.0-src.part2.rar
          snoics-reptile2.0-src.part3.rar
          snoics-reptile2.0-src.part4.rar
          posted @ 2006-06-03 10:53 snoics 閱讀(4531) | 評論 (13)編輯 收藏
          snoics-reptile?網頁爬蟲2.0

          作者: 施偉
          EMail: snoics@hotmail.com
          主頁: http://www.aygfsteel.com/snoics


          FAQ


          1、snoics-reptile是什么?

          ????是用純Java開發的,用來進行網站鏡像抓取的工具,可以使用
          配制文件中提供的URL入口,把這個網站所有的能用瀏覽器通過
          GET的方式獲取到的資源全部抓取到本地,包括網頁和各種類型
          的文件,如:圖片、flash、mp3、zip、rar、exe等文件。可以將整
          個網站完整地下傳至硬盤內,并能保持原有的網站結構精確不變。
          只需要把抓取下來的網站放到web服務器(如:Apache)中,就可以
          實現完整的網站鏡像。

          2、現在已經有了其他的類似的軟件,為什么還要開發snoics-reptile?

          ????因為有些在抓取的過程中經常會出現錯誤的文件,而且對很多使用
          javascript控制的URL沒有辦法正確的解析,而snoics-reptile通過對外提供
          接口和配置文件的形式,對特殊的URL,可以通過自由的擴展對外提供
          的接口,并通過配置文件注入的方式,基本上能實現對所有的網頁都
          正確的解析和抓取。

          3、如何使用?

          ????a、配置 bin\snoics-configpath.xml 文件

          ????????將配置文件中的path節點的值改為conf文件夾在系統中的絕對路徑,
          ????????如: c:\snoics-reptile\conf

          ????b、配置 conf\snoics-systemconfig.xml 文件

          ????????其中parameters節點中的配置為對需要抓取的網站的參數的配置,

          ????????以下是各個參數的說明:

          ????????1、websitename:

          ????????站點的名稱(不能為空,由字母和數字組成)

          ????????2、charsetName:

          ????????該站點使用的字符集類型

          ????????3、website:

          ????????將被抓取的站點的域名

          ????????4、startpage:

          ????????抓取的起始頁面

          ????????5、url:

          ????????該站點中將被抓取的部分(如果留空則為整個站點,可以有多個URL,
          ???????? 每個URL之間使用";"隔開)

          ????????6、remoteurlflag:

          ????????代表遠程URL的標志,沒有特殊情況請不要修改此處,使用默認值
          (多個之間使用";"隔開)

          ????????7、forbidurl:

          ????????該站點中不被抓取的部分(多個之間使用";"隔開)

          ????????8、cachefile:

          ????????該站點使用的緩存文件,如果緩存文件不存在則自動創建一個新的,
          如果已經存在,則會載入文件中保存的信息

          ????????9、filerootpath:

          ????????抓取下的文件的保存路徑(必須是系統中的絕對路徑)

          ????????10、indexpage:

          ????????將被保存成index.html文件名的URL類型(多個之間使用";"隔開)

          ????????11、filenamelength:

          ????????頁面保存到本地時,隨機生成的文件名的長度

          ????????12、cacheunitsize:

          ????????一個cache單元的大小

          ????????13、reptile-downloadfiletype:

          ????????將被抓取到本地的文件類型(多個之間使用";"隔開)

          ????????14、reptile-undownloadfiletype:

          ????????頁面被保存到本地時,該種類型的文件的URL將被改成遠程的URL
          地址,如果這種類型出現在reptile-downloadfiletype中時,則文件將被抓取
          到本地,而URL也將改成本地的URL(多個之間使用";"隔開)

          ????c、在參數配置好之后,執行bin/run.bat文件

          4、如何擴展接口?

          ????擴展接口使用的配置文件是:conf/snoics-reptile-urlregex.xml

          ????首先加入一段如下的配置,其中正則表達式部分應該特定的需要自己給出,
          ??? reptile-replace-string用來代替URL出現的位置,在程序執行的過程中,該部分
          ??? 會被自動替換。
          ????<bean id="ahrefRegexUrl" class="com.snoics.reptile.regex.url.impl.UrlRegex" singleton="false">
          ????????<property name="regexUrl">
          ????????????<!-- 提取可能包含URL的字符串 -->
          ????????????<value><![CDATA[<[^!<>]*\shref\s*=\s*["']?[^<>]*["'\s][^<>]*>]]></value>
          ????????</property>
          ????????<property name="replaceRegexUrl">
          ????????????<!-- 替換可能包含URL的字符串 -->
          ????????????<value><![CDATA[<[^!<>]*\shref\s*=\s*["']?reptile-replace-string["'\s][^<>]*>]]></value>
          ????????</property>
          ????????<property name="getRegexUrl">
          ????????????<!-- 提取最終URL -->
          ????????????<ref bean="ahrefGetRegexUrl"/>
          ????????</property>
          ????</bean>
          ????

          ????其中ahrefGetRegexUrl是實現了com.snoics.reptile.regex.url.IGetUrlRegex
          ??? 接口的類,用來從可能包含了URL的字符串里面提取其中包含的URL?

          ??? 其次加入如下的配置:

          ???? <bean id="ahrefGetRegexUrl" class="com.snoics.reptile.regex.url.impl.AhrefGetRegexUrl" singleton="false">
          ???????? <property name="regexString">
          ????????????? <!-- 提取最終URL -->
          ?????????????? <value><![CDATA[href\s*=\s*["']?[^\s"]+["'\s]\s*]]></value>
          ???????? </property>
          ???????? <property name="unIncludeRegexString">
          ??????????????? <!--
          ???????????????????? 排除不需要的類型
          ???????????????????? 多個正則表達式之間使用';'隔開
          ???????????????? ?-->
          ??????????????? ?<value><![CDATA[javascript\s?:\s?;mailto\s?:\s?;^#$;]]></value>
          ?????????? </property>
          ????? </bean>

          ????最后,在如下的配置中,加入剛才配置好的部分

          ????<bean id="urlRegexMap" class="com.snoics.reptile.regex.url.impl.UrlRegexMap">
          ????????<property name="ulrRegexMap">
          ????????????<map>
          ????????????????<!-- 名稱 -->
          ????????????????<entry key="ahref">
          ????????????????????<!-- 解析URL使用的類 -->
          ????????????????????<ref bean="ahrefRegexUrl"/>
          ????????????????</entry>
          ????????????????<entry key="src">
          ????????????????????<ref bean="srcRegexUrl"/>
          ????????????????</entry>
          ????????????</map>
          ????????</property>
          ????</bean>


          5、版本歷史

          2.0:

          核心代碼全部重寫,增加了擴展性,通過擴展之后,基本上能實現對整個網站完整的解析

          1.0:

          實現了整站抓取的基本的功能,不能解析特殊的URL,對javascript無法辨認


          下載地址:

          snoics-reptile2.0.part1.rar

          snoics-reptile2.0.part2.rar

          snoics-reptile2.0-doc.rar?????
          posted @ 2006-05-29 21:41 snoics 閱讀(2816) | 評論 (3)編輯 收藏
          主站蜘蛛池模板: 苗栗市| 咸阳市| 垫江县| 蒙山县| 泰和县| 江华| 成安县| 响水县| 成武县| 启东市| 焦作市| 建德市| 蒙阴县| 高碑店市| 盐亭县| 潞城市| 门头沟区| 凭祥市| 榆树市| 博罗县| 康保县| 横峰县| 尼勒克县| 佳木斯市| 钦州市| 尖扎县| 文安县| 土默特右旗| 伽师县| 阿瓦提县| 北宁市| 临海市| 喜德县| 水城县| 彭山县| 安仁县| 乐昌市| 扬中市| 津南区| 石屏县| 湘乡市|