chendeben 9 роки тому
батько
коміт
ac51469d21
39 змінених файлів з 646 додано та 2 видалено
  1. BIN
      .DS_Store
  2. 1 0
      docker-compose.yml
  3. BIN
      yidu/.DS_Store
  4. 1 2
      yidu/Dockerfile
  5. BIN
      yidu/yispider/.DS_Store
  6. 122 0
      yidu/yispider/category.ini
  7. 23 0
      yidu/yispider/collect.ini
  8. 2 0
      yidu/yispider/duoyinzi
  9. 32 0
      yidu/yispider/jdbc.properties
  10. 66 0
      yidu/yispider/logback.xml
  11. 41 0
      yidu/yispider/readme.txt
  12. 279 0
      yidu/yispider/rules/42.51.156.246.xml
  13. 2 0
      yidu/yispider/run.ini
  14. 68 0
      yidu/yispider/site.ini
  15. BIN
      yidu/yispider/spider.jar
  16. BIN
      yidu/yispider/spider_lib/aopalliance-1.0.jar
  17. BIN
      yidu/yispider/spider_lib/c3p0-0.9.1.2.jar
  18. BIN
      yidu/yispider/spider_lib/commons-cli-1.2.jar
  19. BIN
      yidu/yispider/spider_lib/commons-codec-1.9.jar
  20. BIN
      yidu/yispider/spider_lib/commons-configuration-1.10.jar
  21. BIN
      yidu/yispider/spider_lib/commons-dbutils-1.5.jar
  22. BIN
      yidu/yispider/spider_lib/commons-lang-2.6.jar
  23. BIN
      yidu/yispider/spider_lib/commons-logging-1.1.3.jar
  24. BIN
      yidu/yispider/spider_lib/commons-pool2-2.2.jar
  25. BIN
      yidu/yispider/spider_lib/dom4j-1.6.1.jar
  26. BIN
      yidu/yispider/spider_lib/fluent-hc-4.3.3.jar
  27. BIN
      yidu/yispider/spider_lib/httpclient-4.3.3.jar
  28. BIN
      yidu/yispider/spider_lib/httpclient-cache-4.3.3.jar
  29. BIN
      yidu/yispider/spider_lib/httpcore-4.3.2.jar
  30. BIN
      yidu/yispider/spider_lib/httpmime-4.3.3.jar
  31. BIN
      yidu/yispider/spider_lib/logback-classic-1.1.2.jar
  32. BIN
      yidu/yispider/spider_lib/logback-core-1.1.2.jar
  33. BIN
      yidu/yispider/spider_lib/mysql-connector-java-5.1.30.jar
  34. BIN
      yidu/yispider/spider_lib/pinyin4j-2.5.0.jar
  35. BIN
      yidu/yispider/spider_lib/postgresql-9.1-901-1.jdbc4.jar
  36. BIN
      yidu/yispider/spider_lib/slf4j-api-1.7.6.jar
  37. BIN
      yidu/yispider/spider_lib/xml-apis-1.0.b2.jar
  38. 1 0
      yidu/yispider/start.bat
  39. 8 0
      yidu/yispider/start.sh

+ 1 - 0
docker-compose.yml

@@ -17,6 +17,7 @@ services:
       - 80:8080
     volumes:
         - ./yidu/ROOT:/usr/local/tomcat/webapps/ROOT
+        - ./yidu/yispider:/usr/local/spider
 
 
     

BIN
yidu/.DS_Store


+ 1 - 2
yidu/Dockerfile

@@ -3,5 +3,4 @@ FROM tomcat:7
 MAINTAINER chendeben <chendeben@qq.com>
 
 RUN rm -rf /usr/local/tomcat/webapps/ROOT
-#ADD ROOT /usr/local/tomcat/webapps/ROOT
-ADD server.xml /usr/local/tomcat/conf/server.xml
+ADD server.xml /usr/local/tomcat/conf/server.xml

BIN
yidu/yispider/.DS_Store


+ 122 - 0
yidu/yispider/category.ini

@@ -0,0 +1,122 @@
+[big]
+1|玄幻魔法|玄幻奇幻,玄幻,玄幻小说,奇幻,奇幻小说,魔法,魔法小说,异世大陆,东方玄幻,西方奇幻,转世重生,玄幻魔法,奇幻玄幻,
+2|武侠修真|武侠仙侠,武侠,武侠小说,仙侠,仙侠小说,修真,修真小说,古典仙侠,现代修真,奇幻修真,仙侠异能,仙侠奇侠,武侠修真,武侠.修真,修真武侠,
+3|都市言情|青春校园,古色古香,官场职场,都市,言情,都市言情,都市异能,都市生活,都市重生,现代都市,都市小说,
+4|历史军事|穿越架空,历史军事,历史,架空,架空小说,架空历史,历史小说,军事,军事小说,战争,战争小说,军事战争,历史军事,战争幻想,现代战争,军事历史,历史.军事,穿越.架空,
+5|侦探推理|侦探推理,侦探,侦探小说,推理,推理小说,
+6|网游动漫|游戏,游戏小说,游戏竞技,竞技小说,幻想网游,虚拟网游,网络游戏,体育竞技,电子竞技,游戏生涯,竞技,网游.动漫,体育.竞技,网游动漫,网游小说,竞技体育,网游竞技,
+7|科幻小说|科幻,星际,星际小说,科幻世界,骇客时空,科幻冒险,星际战争,科幻动漫,机器时代,科幻.小说,科幻小说,科幻灵异,
+8|恐怖灵异|灵异,灵异小说,恐怖,恐怖小说,灵异鬼怪,恐怖惊悚,灵异神怪,恐怖.灵异,恐怖灵异,灵异推理,
+9|散文诗词|散文诗词,剧本,其他,名著,休闲美文,诗词散曲,杂文笔札,文集评论,童话寓言,短篇小说
+10|其他类型|综合其它,经管,剧本,其他,生活科教,其它.类型,其他类型,同人其他,美文同人,其他小说,
+
+[small]
+19|东方玄幻|东方玄幻,玄幻,玄幻小说,玄幻奇幻,玄幻魔法,玄幻·魔幻,
+20|异界征战|王朝争霸,
+21|异界大陆|异世大陆,异界大陆,转世重生,游戏异界,
+22|远古神话|远古神话,
+23|西方奇幻|奇幻玄幻,西方奇幻,奇幻魔法,奇幻玄幻,
+24|领主贵族|领主贵族,
+25|亡灵骷髅|变身情缘,
+26|异类兽族|异类兽族,
+27|魔法校园|奇幻魔法,魔法校园,都市娱乐,
+28|传统武侠|古典武侠,传统武侠,武侠同人,武侠同人,现代武侠,武侠小说,武侠,
+29|浪子异侠|浪子异侠,
+30|国术武技|国术武技,
+31|古典仙侠|武侠仙侠,古典仙侠,其他类型,
+32|奇幻修真|奇幻修真,仙侠异能,
+33|现代修真|现代修真,修真,
+34|洪荒封神|洪荒封神,
+35|都市生活|都市重生,乡土小说,都市,都市激战,
+36|商战风云|商海沉浮,
+37|职场励志|职场励志,
+38|官场沉浮|官场沉浮,
+39|娱乐明星|娱乐明星,
+40|谍战特工|都市激战,,
+41|恩怨情仇|都市情感,恩怨情仇,
+42|现实百态|现实百态,现代文学,
+43|乡土小说|乡土小说,
+44|青春校园|青春校园,
+45|合租情缘|合租情缘,
+46|爱情婚姻|爱情婚姻,
+47|异术超能|异术超能,都市异能,异能奇术,
+49|古代言情|古代言情,
+50|现代言情|都市言情,言情小说,女生频道,言情,
+51|历史时空|历史时空,
+52|纯爱耽美|纯爱耽美,
+53|女尊天下|穿越女尊,
+54|宫闱情仇|少女悬疑,
+55|异国浪漫|异国浪漫,
+56|宅门世家|宅门世家,
+57|都市生活|都市生活,都市,
+58|豪门恩怨|快意江湖,
+59|浪漫言情|浪漫言情,
+60|白领生涯|白领生涯,
+61|菁菁校园|热血青春,菁菁校园,青春,青春·校园,
+62|千千心结|千千心结,
+63|素锦年华|素锦年华,
+64|架空历史|架空历史,历史穿越,历史,穿越架空,
+65|上古先秦|上古先秦,
+66|秦汉三国|三国梦想,秦汉三国,
+67|两晋隋唐|两晋隋唐,
+68|五代十国|五代十国,
+69|两宋元明|两宋元明,
+70|清史民国|清史民国,
+71|外国历史|外国历史,
+72|历史传记|历史军事,历史小说,历史,历史传记,
+73|军事战争|战争风云,军事,军事·科幻,
+74|抗战烽火|抗战烽火,
+75|战争幻想|战争幻想,
+76|军旅生活|军旅生活,
+77|游戏生涯|幻想网游,游戏生涯,
+78|虚拟网游|虚拟网游,网络游戏,
+79|电子竞技|游戏竞技,电子竞技,
+80|游戏异界|游戏异界,
+81|体育竞技|体育竞技,
+82|篮球运动|篮球运动,
+83|足球运动|足球运动,
+84|弈林生涯|弈林生涯,
+85|其他竞技|其他竞技,其他类型,
+86|未来世界|科幻世界,幻想,
+87|星际战争|星际战争,
+88|古武机甲|机器时代,
+89|数字生命|数字生命,
+90|超级科技|骇客时空,
+91|时空穿梭|科幻冒险,
+92|进化变异|进化变异,
+93|末世危机|末世危机,
+94|灵异奇谈|科幻灵异,
+95|恐怖惊悚|灵异鬼怪,恐怖惊悚,恐怖灵异,恐怖·悬疑,
+96|推理侦探|推理灵异,
+97|悬疑探险|悬疑探险,悬疑,
+98|诗词散曲|诗词散曲,散文诗词,
+99|游记杂文|游记杂文,
+100|休闲美文|中国名著,外国经典,休闲美文,耽美,
+101|短篇小说|短篇小说,
+102|童话寓言|,童话寓言
+103|文集评论|文集评论,
+104|动漫同人|动漫同人,
+105|武侠同人|武侠同人,
+106|授权同人|授权同人,
+107|影视同人|影视同人,
+108|官场职场|官场职场,官场,
+109|人文社科|人文社科,
+110|经管励志|经管励志,
+111|生活时尚|生活时尚,
+112|社会百科|社会百科,
+113|其他小说|其他,小说同人,剧本其他,其他,
+114|玄幻魔法|玄幻魔法,
+115|玄幻小说|玄幻小说,
+359|婚恋两性|婚恋两性,婚恋·两性,
+360|官场商战|官场商战,官场·商战,
+361|影视时尚|影视时尚,影视·时尚,
+362|历史传记|历史传记,历史·传记,
+363|思想文化|思想文化,思想·文化,
+364|职场理财|职场理财,职场·理财,
+367|心理励志|心理励志,心理·励志,
+368|美容养生|美容养生,美容·养生,
+369|旅游休闲|旅游休闲,旅游·休闲,
+370|亲子教育|亲子教育,亲子·教育,
+371|社科经典|社科经典,社科·经典,
+372|文学名著|文学名著,文学·名著,
+374|漫画绘本|漫画绘本,漫画·绘本,

+ 23 - 0
yidu/yispider/collect.ini

@@ -0,0 +1,23 @@
+#采集器版本
+version=2.0
+
+#采集规则
+rule_name=23us.xml
+
+#新书是否入库, false不添加新书,true表示添加新书
+add_new_book=true
+
+#默认完本标记, 如果规则文件中没有则使用此处配置
+full_flag=已完结
+
+#默认大类
+default_category=10
+
+#是否生成静态页面, true表示生成, false表示不生成,  使用杰奇的时候填写true, 其他为false
+create_html=false
+
+#循环间隔时间(单位:秒), 为0表示无间隔, 为-1表示不循环
+interval=10
+
+#采集超时时间, 根据目标站网络情况设置, 默认为60秒
+connection_timeout=120

+ 2 - 0
yidu/yispider/duoyinzi

@@ -0,0 +1,2 @@
+重生=chongsheng
+都市=dushi

+ 32 - 0
yidu/yispider/jdbc.properties

@@ -0,0 +1,32 @@
+#for postgresql
+jdbc.driverClassName=org.postgresql.Driver
+jdbc.url=jdbc:postgresql://127.0.0.1:5432/yidu
+jdbc.username=postgres
+jdbc.password=postgres
+
+#for mysql
+#jdbc.driverClassName=com.mysql.jdbc.Driver
+#jdbc.url=jdbc:mysql://localhost/jieqi?useUnicode=true&characterEncoding=GBK
+#jdbc.username=root
+#jdbc.password=qqq123
+
+
+#\u4ee5\u4e0b\u4e3a\u8fde\u63a5\u6c60\u914d\u7f6e\uff0c \u975e\u4e13\u4e1a\u4eba\u5458\u8bf7\u52ff\u4fee\u6539
+
+jdbc.initialPoolSize=5
+jdbc.minPoolSize=3
+jdbc.maxPoolSize=10
+#\u6700\u5927\u7a7a\u95f2\u65f6\u95f4,60\u79d2\u5185\u672a\u4f7f\u7528\u5219\u8fde\u63a5\u88ab\u4e22\u5f03\u3002\u82e5\u4e3a0\u5219\u6c38\u4e0d\u4e22\u5f03\u3002Default: 0\uff0c \u5355\u4f4d\uff1a\u79d2
+jdbc.maxIdleTime = 0
+#\u5f53\u8fde\u63a5\u6c60\u4e2d\u7684\u8fde\u63a5\u8017\u5c3d\u7684\u65f6\u5019c3p0\u4e00\u6b21\u540c\u65f6\u83b7\u53d6\u7684\u8fde\u63a5\u6570\u3002Default: 3
+jdbc.acquireIncrement = 2
+#\u5b9a\u4e49\u5728\u4ece\u6570\u636e\u5e93\u83b7\u53d6\u65b0\u8fde\u63a5\u5931\u8d25\u540e\u91cd\u590d\u5c1d\u8bd5\u7684\u6b21\u6570\u3002Default: 30
+jdbc.acquireRetryAttempts = 30
+#\u4e24\u6b21\u8fde\u63a5\u4e2d\u95f4\u9694\u65f6\u95f4\uff0c\u5355\u4f4d\u6beb\u79d2\u3002Default: 1000
+jdbc.acquireRetryDelay = 1000
+#\u5982\u679c\u8bbe\u4e3atrue\u90a3\u4e48\u5728\u53d6\u5f97\u8fde\u63a5\u7684\u540c\u65f6\u5c06\u6821\u9a8c\u8fde\u63a5\u7684\u6709\u6548\u6027\u3002Default: false
+jdbc.testConnectionOnCheckin = false
+#\u68c0\u9a8c\u94fe\u63a5\u6709\u6548\u6027\u4f7f\u7528\u7684\u8868\uff0c c3p0\u4f1a\u81ea\u52a8\u521b\u5efa
+jdbc.automaticTestTable = DB_TEST
+#\u5f53\u8fde\u63a5\u6c60\u7528\u5b8c\u65f6\u5ba2\u6237\u7aef\u8c03\u7528getConnection()\u540e\u7b49\u5f85\u83b7\u53d6\u65b0\u8fde\u63a5\u7684\u65f6\u95f4\uff0c\u8d85\u65f6\u540e\u5c06\u629b\u51faSQLException,\u5982\u8bbe\u4e3a0\u5219\u65e0\u9650\u671f\u7b49\u5f85\u3002\u5355\u4f4d\u6beb\u79d2\u3002Default: 0 
+jdbc.checkoutTimeout=30000

+ 66 - 0
yidu/yispider/logback.xml

@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="false" debug="false">
+
+	<contextName>yispider</contextName>  
+	
+    <!-- 控制台输出 -->
+    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
+        </encoder>
+    </appender>
+
+    <!-- 时间滚动输出 level为 DEBUG 日志 -->
+    <appender name="file-info"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>logs/spider.%d{yyyy-MM-dd}.log</FileNamePattern>
+            <MaxHistory>30</MaxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
+        </encoder>
+    </appender>
+
+    <!-- 时间滚动输出 level为 ERROR 日志 -->
+    <appender name="file-error"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>ERROR</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>logs/error.%d{yyyy-MM-dd}.log</FileNamePattern>
+            <MaxHistory>30</MaxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
+        </encoder>
+    </appender>
+
+    <logger name="java.sql.Connection">
+        <level value="ERROR" />
+    </logger>
+    <logger name="java.sql.Statement">
+        <level value="ERROR" />
+    </logger>
+    <logger name="com.mchange.v2">
+        <level value="ERROR" />
+    </logger>
+    <logger name="org.yi.spider">
+        <level value="TRACE" />
+    </logger>
+
+    <root level="INFO">
+        <appender-ref ref="stdout" />
+        <appender-ref ref="file-info" />
+        <appender-ref ref="file-error" />
+    </root>
+
+</configuration>

+ 41 - 0
yidu/yispider/readme.txt

@@ -0,0 +1,41 @@
+1. 不带参数启动, 默认为采集规则中指定的所有小说, 即同-ca参数
+2. 正常采集规则中指定的所有小说使用参数 -ca启动
+3. 如果只采集部分小说, 可使用-c 111,222,333 或者-c 111-222启动采集器, 前者意思为采集目标站章节号为111,222,333的小说, 后者意思为采集目标站章节号从111到222之间的所有小说
+4. 如果采集中出现了一些空章节, 或者小说封面、简介、进度、分类错误, 可以使用修复采集 -ra启动, 可指定修复内容
+5. 如果只修复部分小说, 可使用-r 111,222,333 或者-c 111-222启动采集器, 参数含义类似-c, 只是-c为采集指定小说, -r为修复指定小说
+6. 使用-r或-ra进行修复采集时可同时制定需要修复的选项, -cover,-intro,-top,-sub,-keywords,-degree,-etxt,-txt,以上参数分别对应封面图片, 小说简介, 小说大类,小说细类, 关键词, 写作进度, 空章节(只修复空章节), txt文本(无论本地是否存在对应的章节内容, 只要指定txt则重新采集)
+7. 如果启动需要单独指定采集时使用的规则, 可使用-rule xxxx.xml参数(必须同时制定-ca -c -ra -r四个命令之一), 其中xxxx.xml为rules文件夹下的规则名, 注意这里的参数需要使用文件全名, 即带了后缀的, 如果不知道怎么看文件后缀, 请使用谷歌或者度娘
+
+
+配置易读:
+1. 配置jdbc.properties,将#for postgresql下的四行开始的#去掉,同时将#for mysql下的四行行首加上#
+2. 将site.ini中的local_program值修改为yidu
+3. 将collect.ini中的create_html设置为false
+
+配置杰奇:
+1. 配置jdbc.properties,将#for postgresql下的四行行首加上#,同时将#for mysql下的四行行首的#去掉
+2. 将site.ini中的local_program值修改为jieqi
+3. 将collect.ini中的create_html设置为true
+
+配置site.ini:
+主要配置项包括: local_program、txt_file、cover_dir
+其中local_program参考[配置易读]、[配置杰奇]
+txt_file为你的txt文件路径路径路径路径, 配置的时候需要注意不要把占位符删掉
+cover_dir为你的封面图片所在目录目录目录目录,  配置的时候注意占位符
+
+
+采集器默认为单线程执行, 如果有多线程需求, 请按照以下配置:
+1. 在数据库中增加唯一索引
+create unique index unique_index_articleno_chaptername ON t_chapter(articleno,chaptername);
+create unique index unique_index_articlename_author ON t_article(articlename,author);
+2. 将collect.ini中的concurrent_novel_task设置为大于1的数字
+
+多线程采集优势:
+理论上采集速度可以无限提升
+
+多线程采集风险:
+1. 会消耗更多的系统资源
+2. 多线程采集速度过快, 由于网络延时性, 可能会采到很多空章节
+
+解决方案:
+同时开启修复采集

+ 279 - 0
yidu/yispider/rules/42.51.156.246.xml

@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RuleConfigInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <NovelIntro>
+  <RegexName>NovelIntro</RegexName>
+  <Pattern>&lt;meta property="og:description" content="((.|\n)*?)"/&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelIntro>
+ <PubContentText>
+  <RegexName>PubContentText</RegexName>
+  <Pattern>&lt;div id="acontent" class="acontent"&gt;((.|\n)*?)&lt;br/&gt;&lt;/div&gt;</Pattern>
+  <Method/>
+  <FilterPattern>wap.23us.com
+顶.{2,40}说
+w.{6,30}m
+頂.{2,40}说
+頂.{2,40}說
+w.{6,30}m
+ps:想听到更多你们的声音.{40,80}更多支持!
+我的小说.{2,40}将在官方微信平台上.{40,100}速度抓紧啦!
+想知道.{40,100}关注公众号,再也不会错过每次更新!
+小说.{80,100}速度抓紧啦!
+ps:看《.{1,10}》背后的独家故事,听你们对小说的更多建议,关注公众号(微信添加朋友-添加公众号-输入dd即可),悄悄告诉我吧!
+天上掉馅饼的好活动,炫酷手机等你拿!关注起~點/公众号(微信添加朋友-添加公众号-输入dd即可),马上参加!人人有奖,现在立刻关注dd微信公众号!
+www.23us.com
+www。23us。com
+www。23us。com
+www。23us。com
+w-w-w\.23us\.c-o-m
+wap\.23wx\.com
+www.23WX.com
+www。23wx。com
+www。23wx。com
+www。23wx。com
+WwW\.23wX\.cOM
+www\.23wx\.com
+=顶=点=小说=
+@顶@点@小说
+-顶-点-小-说-
+:顶:点:小说3w\.23wx\.com
+《顶》《点》小说
+\?顶\?点\?小说
+[顶\]\[点]小说
+&lt;顶&gt;&lt;点&gt;小说
+$顶$点$小说
+顶\.点。小说
+飘天文学
+&lt;script.+?&lt;/script&gt;|&lt;div.+?&gt;|&lt;/div&gt;|&lt;p&gt;|&lt;/p&gt;
+3w.{6,30}com
+www.{6,30}com
+www.{6,30}cn
+www.{6,30}net
+www.{6,30}org
+&lt;font.+?&lt;/font&gt;
+&lt;a.+?&lt;/a&gt;
+【&lt;b&gt;(.|\n)*?&lt;/B&gt;】♂</FilterPattern>
+  <Options/>
+ </PubContentText>
+ <NovelSearchUrl>
+  <RegexName>NovelSearchUrl</RegexName>
+  <Pattern/>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelSearchUrl>
+ <NovelList_GetNovelKey>
+  <RegexName>NovelList_GetNovelKey</RegexName>
+  <Pattern>&lt;td&gt;&lt;a href="/reader/(\d+)/index.html" class="note iconfont" target="_blank" title="目录"&gt;&amp;#xee32;&lt;/a&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelList_GetNovelKey>
+ <NovelListUrl>
+  <RegexName>NovelListUrl</RegexName>
+  <Pattern>http://www.hk020.com/top/lastupdate.html
+http://www.hk020.com/top/lastupdate/2.html
+http://www.hk020.com/top/lastupdate/3.html</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelListUrl>
+ <PubChapterRegion>
+  <RegexName>PubChapterRegion</RegexName>
+  <Pattern/>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </PubChapterRegion>
+ <NovelName>
+  <RegexName>NovelName</RegexName>
+  <Pattern>&lt;meta property="og:title" content="(.+?)"/&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelName>
+ <NovelSearch_GetNovelName>
+  <RegexName>NovelSearch_GetNovelName</RegexName>
+  <Pattern/>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelSearch_GetNovelName>
+ <NovelList_GetNovelKey2>
+  <RegexName>NovelList_GetNovelKey2</RegexName>
+  <Pattern/>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelList_GetNovelKey2>
+ <LagerSort>
+  <RegexName>LagerSort</RegexName>
+  <Pattern>&lt;meta property="og:novel:category" content="(.+?)"/&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </LagerSort>
+ <SmallSort>
+  <RegexName>SmallSort</RegexName>
+  <Pattern>&lt;meta property="og:novel:category" content="(.+?)"/&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </SmallSort>
+ <GetSiteUrl>
+  <RegexName>GetSiteUrl</RegexName>
+  <Pattern>http://www.hk020.com</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </GetSiteUrl>
+ <TestSearchNovelName>
+  <RegexName>TestSearchNovelName</RegexName>
+  <Pattern/>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </TestSearchNovelName>
+ <NovelDegree>
+  <RegexName>NovelDegree</RegexName>
+  <Pattern>&lt;meta property="og:novel:status" content="(.+?)"/&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelDegree>
+ <PubContentText_FT2JT>
+  <RegexName>PubContentText_FT2JT</RegexName>
+  <Pattern>false</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </PubContentText_FT2JT>
+ <NovelAuthor>
+  <RegexName>NovelAuthor</RegexName>
+  <Pattern>&lt;meta property="og:novel:author" content="(.+?)"/&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelAuthor>
+ <NovelInfo_GetNovelPubKey>
+  <RegexName>NovelInfo_GetNovelPubKey</RegexName>
+  <Pattern>&lt;meta property="og:novel:read_url" content="(.+?)"/&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelInfo_GetNovelPubKey>
+ <PubContentText_ASCII>
+  <RegexName>PubContentText_ASCII</RegexName>
+  <Pattern>false</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </PubContentText_ASCII>
+ <NovelCover>
+  <RegexName>NovelCover</RegexName>
+  <Pattern>&lt;meta property="og:image" content="(.+?)"/&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelCover>
+ <RuleVersion>
+  <RegexName>RuleVersion</RegexName>
+  <Pattern>2</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </RuleVersion>
+ <PubContentText_BJ2QJ>
+  <RegexName>PubContentText_BJ2QJ</RegexName>
+  <Pattern>false</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </PubContentText_BJ2QJ>
+ <NovelInfoExtra>
+  <RegexName>NovelInfoExtra</RegexName>
+  <Pattern/>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelInfoExtra>
+ <PubIndexUrl>
+  <RegexName>PubIndexUrl</RegexName>
+  <Pattern>{NovelPubKey}</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </PubIndexUrl>
+ <NovelDefaultCoverUrl>
+  <RegexName>NovelDefaultCoverUrl</RegexName>
+  <Pattern>http://www.hk020.com/cover/nocover.jpg</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelDefaultCoverUrl>
+ <PubContentUrl2>
+  <RegexName>PubContentUrl2</RegexName>
+  <Pattern/>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </PubContentUrl2>
+ <PubContentUrl>
+  <RegexName>PubContentUrl</RegexName>
+  <Pattern>{ChapterKey}</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </PubContentUrl>
+ <GetSiteName>
+  <RegexName>GetSiteName</RegexName>
+  <Pattern>采集站</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </GetSiteName>
+ <PubChapterName>
+  <RegexName>PubChapterName</RegexName>
+  <Pattern>&lt;a href=".+?" title=".+?"&gt;(.+?)&lt;/a&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </PubChapterName>
+ <GetSiteCharset>
+  <RegexName>GetSiteCharset</RegexName>
+  <Pattern>utf8</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </GetSiteCharset>
+ <PubChapter_GetChapterKey>
+  <RegexName>PubChapter_GetChapterKey</RegexName>
+  <Pattern>&lt;a href="(.+?)" title=".+?"&gt;.+?&lt;/a&gt;</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </PubChapter_GetChapterKey>
+ <NovelSearch_GetNovelKey>
+  <RegexName>NovelSearch_GetNovelKey</RegexName>
+  <Pattern/>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelSearch_GetNovelKey>
+ <NovelKeyword>
+  <RegexName>NovelKeyword</RegexName>
+  <Pattern/>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelKeyword>
+ <NovelUrl>
+  <RegexName>NovelUrl</RegexName>
+  <Pattern>http://www.hk020.com/info/{NovelKey}.html</Pattern>
+  <Method/>
+  <FilterPattern/>
+  <Options/>
+ </NovelUrl>
+</RuleConfigInfo>

+ 2 - 0
yidu/yispider/run.ini

@@ -0,0 +1,2 @@
+-rule 23us.xml -ca
+-rule 22mt.xml -ca

+ 68 - 0
yidu/yispider/site.ini

@@ -0,0 +1,68 @@
+#本站域名, 需要生成静态页时此项必填
+local_site_url=http://tttt
+
+#本站名称, 需要生成静态页时此项必填
+local_site_name=很牛小说网
+
+#本站txt文件编码
+charset=GBK
+
+#本站程序, 默认为yidu, 其他jieqi
+local_program=yidu
+
+#本站根目录
+base_path=D:/workspace/99_website/YiDu-Novel/
+
+############占位符说明############
+#	#subDir#对易读和杰奇来说subDir就是小说编号除以1000以后的整数值
+#	#articleNo#即小说编号
+#	#chapterNo#即章节编号
+#	#pinyin#即小说名对应的拼音
+##############################
+#章节txt存放绝对路径
+txt_file=D:/workspace/99_website/YiDu-Novel/files/article/txt/#subDir#/#articleNo#/#chapterNo#.txt
+
+#文章封面存放绝对路径
+cover_dir=D:/workspace/99_website/YiDu-Novel/files/article/image/#subDir#/#articleNo#/
+
+#访问目标站方式user-agent
+#模拟爬虫的值分别为:baidu 模拟百度爬虫 (默认方式)、google、 sogou、yahoo、msn、youdao、jike
+#模拟人工:user_ie_x64, user_ie_x86
+user_agent=user_ie_x64
+
+#是否开启拼音  ----- 此选项只针对定制版的杰奇系统, 1为开启, 0为关闭, 默认为0
+use_pinyin=0
+
+#################################
+#以下为静态化配置, 目前只有杰奇需要配置
+#################################
+
+#文章html存放绝对路径
+html_file=E:/server/upupw/vhosts/tttt/files/article/html/#subDir#/#articleNo#/#chapterNo#.html
+#html_file=E:/server/upupw/vhosts/tttt/book/#pinyin#/#chapterNo#.html
+
+#模版配置
+#首页模版, 预留
+#template_index=
+#列表页
+#template_list=
+#排行榜
+#template_top=
+#小说信息页
+#template_info=
+#小说信息页模版
+info_chapter=
+###############以下为必填项
+#章节信息页页网址, 网站使用了伪静态这里就填伪静态地址, 没有就填动态地址
+url_info=/modules/article/articleinfo.php?id=#articleNo#
+#章节列表
+template_chapter=E:/server/upupw/vhosts/tttt/modules/article/templates/index.html
+#章节目录页网址, 网站使用了伪静态这里就填伪静态地址, 没有就填动态地址, 如果网址中小说号部分用了拼音, 则使用#pinyin#占位符, 否则使用#articleNo#
+url_chapter=/files/article/html/#subDir#/#articleNo#/index.html
+#目录页每行显示多少章节
+chapter_row_size=4
+#阅读页
+template_reader=E:/server/upupw/vhosts/tttt/modules/article/templates/style.html
+#阅读页网址, 网站使用了伪静态这里就填伪静态地址, 没有就填动态地址, 如果网址中小说号部分用了拼音, 则使用#pinyin#占位符, 否则使用#articleNo#
+url_reader=/files/article/html/#subDir#/#articleNo#/#chapterNo#.html
+

BIN
yidu/yispider/spider.jar


BIN
yidu/yispider/spider_lib/aopalliance-1.0.jar


BIN
yidu/yispider/spider_lib/c3p0-0.9.1.2.jar


BIN
yidu/yispider/spider_lib/commons-cli-1.2.jar


BIN
yidu/yispider/spider_lib/commons-codec-1.9.jar


BIN
yidu/yispider/spider_lib/commons-configuration-1.10.jar


BIN
yidu/yispider/spider_lib/commons-dbutils-1.5.jar


BIN
yidu/yispider/spider_lib/commons-lang-2.6.jar


BIN
yidu/yispider/spider_lib/commons-logging-1.1.3.jar


BIN
yidu/yispider/spider_lib/commons-pool2-2.2.jar


BIN
yidu/yispider/spider_lib/dom4j-1.6.1.jar


BIN
yidu/yispider/spider_lib/fluent-hc-4.3.3.jar


BIN
yidu/yispider/spider_lib/httpclient-4.3.3.jar


BIN
yidu/yispider/spider_lib/httpclient-cache-4.3.3.jar


BIN
yidu/yispider/spider_lib/httpcore-4.3.2.jar


BIN
yidu/yispider/spider_lib/httpmime-4.3.3.jar


BIN
yidu/yispider/spider_lib/logback-classic-1.1.2.jar


BIN
yidu/yispider/spider_lib/logback-core-1.1.2.jar


BIN
yidu/yispider/spider_lib/mysql-connector-java-5.1.30.jar


BIN
yidu/yispider/spider_lib/pinyin4j-2.5.0.jar


BIN
yidu/yispider/spider_lib/postgresql-9.1-901-1.jdbc4.jar


BIN
yidu/yispider/spider_lib/slf4j-api-1.7.6.jar


BIN
yidu/yispider/spider_lib/xml-apis-1.0.b2.jar


+ 1 - 0
yidu/yispider/start.bat

@@ -0,0 +1 @@
+java -jar spider.jar -ca

+ 8 - 0
yidu/yispider/start.sh

@@ -0,0 +1,8 @@
+#!/bin/bash
+
+#export JAVA_HOME=/usr/java/jdk1.6.0_45
+#export PATH=$PATH:$JAVA_HOME/bin
+#export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
+
+#/usr/java/jdk1.6.0_45/bin/java -jar spider.jar -ca &
+/usr/java/jdk1.6.0_45/bin/java -jar spider.jar -ca &