From 8706168b94d402571e7a31ae2bd9e21fbb18822b Mon Sep 17 00:00:00 2001 From: xxy <1179705413@qq.com> Date: Wed, 25 Dec 2019 21:11:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B6=E7=82=B9=E5=B0=8F=E8=AF=B4=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E6=9B=B4=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../books/core/config/CrawlBiqudaoConfig.java | 2 +- .../books/core/config/CrawlBiqutaConfig.java | 2 +- .../core/config/CrawlDingdianConfig.java | 2 +- .../src/main/resources/application-crawl.yml | 12 ++++-------- .../src/main/resources/application.yml | 4 ++-- script/crawlbook/application.yml | 2 +- script/crawlbook/crawl-book-1.0-SNAPSHOT.jar | Bin 24677988 -> 24678314 bytes 7 files changed, 10 insertions(+), 14 deletions(-) diff --git a/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlBiqudaoConfig.java b/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlBiqudaoConfig.java index 4c207cb..e3b3a94 100644 --- a/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlBiqudaoConfig.java +++ b/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlBiqudaoConfig.java @@ -18,7 +18,7 @@ public class CrawlBiqudaoConfig { @Bean @ConfigurationProperties(prefix = "biqudao.crawlsource") // prefix值必须是application.yml中对应属性的前缀 - @ConditionalOnProperty(prefix = "biqudao.crawlsource",name = "enabled",havingValue = "true") + @ConditionalOnProperty(prefix = "crawl.website",name = "type",havingValue = "1") public BaseHtmlCrawlSource biqudaoCrawlSource() { return new BiquCrawlSource(); } diff --git a/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlBiqutaConfig.java b/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlBiqutaConfig.java index d149268..aca7457 100644 --- a/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlBiqutaConfig.java +++ b/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlBiqutaConfig.java @@ -18,7 +18,7 @@ public class CrawlBiqutaConfig { @Bean @ConfigurationProperties(prefix = "biquta.crawlsource") // prefix值必须是application.yml中对应属性的前缀 - @ConditionalOnProperty(prefix = "biquta.crawlsource",name = "enabled",havingValue = "true") + @ConditionalOnProperty(prefix = "crawl.website",name = "type",havingValue = "2") public BaseHtmlCrawlSource biqutaCrawlSource() { return new BiquCrawlSource(); } diff --git a/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlDingdianConfig.java b/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlDingdianConfig.java index 17fc2ce..6acca88 100644 --- a/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlDingdianConfig.java +++ b/novel-front/src/main/java/xyz/zinglizingli/books/core/config/CrawlDingdianConfig.java @@ -20,7 +20,7 @@ public class CrawlDingdianConfig { @Bean @Primary //必须加此注解,不然报错,下一个类则不需要添加 @ConfigurationProperties(prefix = "dingdian.crawlsource") // prefix值必须是application.yml中对应属性的前缀 - @ConditionalOnProperty(prefix = "dingdian.crawlsource",name = "enabled",havingValue = "true") + @ConditionalOnProperty(prefix = "crawl.website",name = "type",havingValue = "3") public BaseHtmlCrawlSource dingdianCrawlSource() { return new BiquCrawlSource(); } diff --git a/novel-front/src/main/resources/application-crawl.yml b/novel-front/src/main/resources/application-crawl.yml index 7e72483..9b04bf2 100644 --- a/novel-front/src/main/resources/application-crawl.yml +++ b/novel-front/src/main/resources/application-crawl.yml @@ -9,7 +9,6 @@ crawl: #爬取的网站名称类型 1:笔趣岛 ,2:笔趣塔, 3:顶点,默认顶点 更多网站解析中,敬请期待 biquta: crawlsource: - enabled: true #是否开启此爬虫源 index-url: https://m.biquta.la list-page-url: https://m.biquta.la/class/{0}/{1}.html book-url-pattern: href="/(\d+_\d+)/" @@ -25,9 +24,8 @@ biquta: catalog-pattern: ([^/]+) biqudao: crawlsource: - enabled: true #是否开启此爬虫源 - index-url: https://m.biqudao.com - list-page-url: https://m.biqudao.com/bqgeclass/{0}/{1}.html + index-url: https://m.biqudao.net + list-page-url: https://m.biqudao.net/bqgeclass/{0}/{1}.html book-url-pattern: href="/(bqge\d+)/" score-pattern: (\d+\.\d+)分 book-name-pattern:

([^/]+)

@@ -42,9 +40,8 @@ biqudao: dingdian: crawlsource: - enabled: true #是否开启此爬虫源 - index-url: https://wap.dingdiann.com - list-page-url: https://wap.dingdiann.com/sort/{0}/{1}.html + index-url: http://m.xdingdiann.com + list-page-url: http://m.xdingdiann.com/sort/{0}/{1}.html book-url-pattern: href="/(ddk\d+)/" score-pattern: (\d+\.\d+)分 book-name-pattern:

([^/]+)

@@ -59,7 +56,6 @@ dingdian: biquge: crawlsource: - enabled: true #是否开启此爬虫源 index-url: http://m.biquge.info list-page-url: http://m.biquge.info/paihangbang_lastupdate/{0}.html book-url-pattern: href="/(\d+_\d+)/" diff --git a/novel-front/src/main/resources/application.yml b/novel-front/src/main/resources/application.yml index 3298845..bc4b7f3 100644 --- a/novel-front/src/main/resources/application.yml +++ b/novel-front/src/main/resources/application.yml @@ -5,7 +5,7 @@ spring: datasource: url: jdbc:mysql://127.0.0.1:3306/books?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai username: root - password: test123456 + password: # url: jdbc:mysql://127.0.0.1:3306/books?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai # username: root # password: test123456 @@ -68,7 +68,7 @@ mysql: books: lowestScore: 6.0 -#爬取的网站名称类型 1:笔趣岛 ,2:笔趣塔 更多网站解析中,敬请期待 +#爬取的网站名称类型 1:笔趣岛 ,2:笔趣塔,3:顶点小说 更多网站解析中,敬请期待 crawl: website: type: 2 diff --git a/script/crawlbook/application.yml b/script/crawlbook/application.yml index 8b2be98..2eef3a4 100644 --- a/script/crawlbook/application.yml +++ b/script/crawlbook/application.yml @@ -1,7 +1,7 @@ server: {port: 8083} spring: datasource: {url: 'jdbc:mysql://127.0.0.1:3306/books?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai', - username: root, password: test123456} + username: root, password: ''} mybatis: mapper-locations: classpath:mybatis/mapping/*.xml type-aliases-package: xyz.zinglizingli.books.po diff --git a/script/crawlbook/crawl-book-1.0-SNAPSHOT.jar b/script/crawlbook/crawl-book-1.0-SNAPSHOT.jar index 21375d7f70326cab331679c5ce09ec313c38af73..4e369225dc06134bc48734f9f3c4797173861ea5 100644 GIT binary patch delta 19904 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 E0K253mjD0& delta 19852 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