因爲SeimiCrawler的context基於spring實現,因此支持幾乎全部spring格式的配置文件和spring一般用法。SeimiCrawler會掃描工程classpath下全部xml格式配置文件, 可是隻有文件名以seimi開頭的xml配置文件能被SeimiCrawler識別並加載。 SeimiCrawler的日誌使用slf4j,可自行配置具體的實現。 需繼承BaseSeimiCrawler 需打上@Crawler註解,註解中name屬性是無關緊要的,若是設置了,那麼這個crawler則以你定義的名字命名,不然默認使用你建立的類名。 全部想要被SeimiCrawler掃描到的crawler需放在crawlers包下, 如:cn.wanghaomiao.xxx.crawlers,也能夠參考項目附帶的demo工程。 初始化好Crawler後,你須要實現兩個最基本的方法public String[] startUrls();和public void start(Response response),實現後一個簡單的爬蟲就算寫完了。 全部想要被掃描生效的SeimiQueue需放在queues包下, 如cn.wanghaomiao.xxx.queues,demo工程中也有樣例。 知足以上要求,寫好本身的SeimiQueue後,經過註解@Crawler(name = "xx",queue = YourSelfRedisQueueImpl.class)來配置使用。
#JAR包問題,去maven倉庫刪除原來的JAR包,從新下載 java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport
#關閉數據庫出現異常 DBUtil.close(conn, pstmt, null); #出現的錯誤:(初步判斷是本身配置的c3p0鏈接池有問題) java.sql.SQLException: No value specified for parameter 1 java.sql.SQLException: You can't operate on a closed Connection!!!
#字符編碼問題 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x81 \xE4...' for column 'content' at row 1
#未開啓本地的redis服務。 #windos64位redis下載地址:https://git.oschina.net/huyup/redis #windows下開啓redis服務:使用cmd切換到redis的文件夾下 cd F:\redis #開啓redis服務:redis-server redis.windows.conf WARN c.w.seimi.def.DefaultRedisQueue - Could not get a resource from the pool
centos6.5安裝redis yum -y install gcc cd /usr/java/ wget http://download.redis.io/releases/redis-3.0.6.tar.gz tar xzf redis-3.0.6.tar.gz cd redis-3.0.6 make #處理特殊狀況,當出現以下錯誤時候: #error: jemalloc/jemalloc.h: No such file or directory #執行命令: make MALLOC=libc #啓動redis src/redis-server #測試redis src/redis-cli redis> set foo bar OK redis> get foo "bar" 當出現"bar"時候,說明安裝成功了!
#打包部署運行seimi 一、編寫好程序,在pom文件中加入seimi的打包插件 二、在myeclipse執行 clean package 命令 三、刷新一下項目,會發如今項目的的target會生成一些jar或文件夾之類的 四、複製 seimi-0.0.1-SNAPSHOT(裏面包含bin、seimi文件夾) 文件夾發送到linux系統中 五、在linux文件夾中切換到 seimi-0.0.1-SNAPSHOT 中 六、執行 ./bin/run.sh basic 的命令便可觀察程序運行的情況