From daea40bcbb7b81c2e70342812c1b88029ed37790 Mon Sep 17 00:00:00 2001
From: Fengshaoyuan <1914442689@qq.com>
Date: Tue, 14 May 2024 17:51:43 +0800
Subject: [PATCH] =?UTF-8?q?1.=E6=89=A9=E5=B1=95Nfxs=202.=E4=BC=98=E5=8C=96?=
=?UTF-8?q?=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Classes/Chapter7qsClass.cs | 2 +-
Classes/ChapterIbiqugeClass.cs | 1 -
Classes/ChapterNfxsClass.cs | 97 ++++++++++++++++++++++++++++++++++
MainForm.Designer.cs | 1 +
MainForm.cs | 13 +++--
5 files changed, 108 insertions(+), 6 deletions(-)
create mode 100644 Classes/ChapterNfxsClass.cs
diff --git a/Classes/Chapter7qsClass.cs b/Classes/Chapter7qsClass.cs
index 3d44e98..bdefe56 100644
--- a/Classes/Chapter7qsClass.cs
+++ b/Classes/Chapter7qsClass.cs
@@ -7,7 +7,7 @@ using System.Windows.Forms;
namespace HtmlToTxtWFA.Classes
{
///
- /// 章节 20xs
+ /// 章节 7qs
///
public class Chapter7qsClass : ChapterClass
{
diff --git a/Classes/ChapterIbiqugeClass.cs b/Classes/ChapterIbiqugeClass.cs
index 8812968..997bf11 100644
--- a/Classes/ChapterIbiqugeClass.cs
+++ b/Classes/ChapterIbiqugeClass.cs
@@ -67,7 +67,6 @@ namespace HtmlToTxtWFA.Classes
HtmlNode headNode;
HtmlNodeCollection conNodes;
- // 第一页
//从url中加载
doc = web.Load(HOST + this.Url);
if (doc == null)
diff --git a/Classes/ChapterNfxsClass.cs b/Classes/ChapterNfxsClass.cs
new file mode 100644
index 0000000..407df3c
--- /dev/null
+++ b/Classes/ChapterNfxsClass.cs
@@ -0,0 +1,97 @@
+using HtmlAgilityPack;
+using HtmlToTxtWFA.Utils;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+
+namespace HtmlToTxtWFA.Classes
+{
+ ///
+ /// 章节 Nfxs
+ ///
+ public class ChapterNfxsClass : ChapterClass
+ {
+ public ChapterNfxsClass() { }
+
+ public ChapterNfxsClass(HtmlNode aElement)
+ {
+ // 第1章 洪战
+ string label = aElement.InnerText;
+ if (label.Contains("第") && label.Contains("章"))
+ {
+ this.Label = label;
+ this.Url = aElement.GetAttributeValue("href", "");
+ }
+ }
+
+ public override List ReadChapterList(string HOST, string serialNumber)
+ {
+ HtmlWeb web = new HtmlWeb();
+ HtmlAgilityPack.HtmlDocument doc;
+ HtmlNodeCollection conNodes;
+ //从url中加载
+ Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
+ doc = web.LoadFromWebAsync(HOST + "/book/" + serialNumber + "/", Encoding.GetEncoding("GBK")).Result;
+ if (doc == null)
+ {
+ MessageBox.Show("获取章节列表异常");
+ return new List();
+ }
+
+ conNodes = doc.DocumentNode.SelectNodes("//*[@id=\"list\"]");
+ if (conNodes == null || conNodes.Count == 0)
+ {
+ MessageBox.Show("获取章节列表异常");
+ return new List();
+ }
+
+ HtmlNodeCollection aNodes = conNodes[0].SelectNodes(".//a");
+ if (aNodes == null || aNodes.Count == 0)
+ {
+ MessageBox.Show("获取章节列表异常");
+ return new List();
+ }
+
+ List chapterList = new List();
+ for (int c = 0; c < aNodes.Count; c++)
+ {
+ // 第1章 洪战
+ HtmlNode aNode = aNodes[c];
+ if (aNode == null)
+ {
+ continue;
+ }
+
+ ChapterNfxsClass chapterClass = new ChapterNfxsClass(aNode);
+ if (!chapterClass.IsNull())
+ {
+ chapterList.Add(chapterClass);
+ }
+ }
+
+ return chapterList;
+ }
+
+ public override void ToTxt(string filePath, string HOST)
+ {
+ //从url中加载
+ Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
+ HtmlAgilityPack.HtmlDocument doc = new HtmlWeb().LoadFromWebAsync(HOST + this.Url, Encoding.GetEncoding("GBK")).Result;
+ if (doc == null)
+ {
+ return;
+ }
+
+ HtmlNodeCollection conNodes = doc.DocumentNode.SelectNodes("//div[@id=\"content\"]");
+ if (conNodes == null || conNodes.Count == 0)
+ {
+ return;
+ }
+
+ TxtUtil.Write(filePath,
+ " " + this.Label + "\n\n" +
+ conNodes[0].InnerHtml.Replace(" ", " ").Replace("
", "")
+ + "\n\n");
+ }
+ }
+}
diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs
index e47aa00..de24ad8 100644
--- a/MainForm.Designer.cs
+++ b/MainForm.Designer.cs
@@ -163,6 +163,7 @@ namespace HtmlToTxtWFA
"笔趣阁",
"键盘小说网",
"乐文小说网",
+ "农夫小说网",
"速读谷"});
this.platformComboBox.Location = new System.Drawing.Point(84, 7);
this.platformComboBox.Name = "platformComboBox";
diff --git a/MainForm.cs b/MainForm.cs
index 65cb38c..6046840 100644
--- a/MainForm.cs
+++ b/MainForm.cs
@@ -18,6 +18,7 @@ namespace HtmlToTxtWFA
["笔趣阁"] = "http://www.ibiquge.cc",
["键盘小说网"] = "http://www.janpn.info",
["乐文小说网"] = "https://www.xlewen.com/",
+ ["农夫小说网"] = "https://www.nfxs.com",
["速读谷"] = "https://www.sudugu.com",
};
@@ -104,6 +105,10 @@ namespace HtmlToTxtWFA
{
chapterList = new ChapterIwurexsClass().ReadChapterList(host, serialNumber);
}
+ else if (platform.Equals("7小说"))
+ {
+ chapterList = new Chapter7qsClass().ReadChapterList(host, serialNumber);
+ }
else if (platform.Equals("笔趣阁"))
{
chapterList = new ChapterIbiqugeClass().ReadChapterList(host, serialNumber);
@@ -116,13 +121,13 @@ namespace HtmlToTxtWFA
{
chapterList = new ChapterXlewenClass().ReadChapterList(host, serialNumber);
}
- else if (platform.Equals("速读谷"))
+ else if (platform.Equals("农夫小说网"))
{
- chapterList = new ChapterSuduguClass().ReadChapterList(host, serialNumber);
+ chapterList = new ChapterNfxsClass().ReadChapterList(host, serialNumber);
}
- else if (platform.Equals("7小说"))
+ else if (platform.Equals("速读谷"))
{
- chapterList = new Chapter7qsClass().ReadChapterList(host, serialNumber);
+ chapterList = new ChapterSuduguClass().ReadChapterList(host, serialNumber);
}
else
{
--
Gitee