From ba0f9d6310e475eb4f55537b26fd8da4a6af1e76 Mon Sep 17 00:00:00 2001 From: Fengshaoyuan <1914442689@qq.com> Date: Wed, 22 May 2024 08:46:52 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=89=A9=E5=B1=95Biquka2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Classes/ChapterBiquka2Class.cs | 94 ++++++++++++++++++++++++++++++++ Classes/ChapterQiubiqugeClass.cs | 2 - MainForm.Designer.cs | 1 + MainForm.cs | 5 ++ 4 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 Classes/ChapterBiquka2Class.cs diff --git a/Classes/ChapterBiquka2Class.cs b/Classes/ChapterBiquka2Class.cs new file mode 100644 index 0000000..73e5abd --- /dev/null +++ b/Classes/ChapterBiquka2Class.cs @@ -0,0 +1,94 @@ +using HtmlAgilityPack; +using HtmlToTxtWFA.Utils; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace HtmlToTxtWFA.Classes +{ + /// + /// 章节 Biquka2 + /// + public class ChapterBiquka2Class : ChapterClass + { + public ChapterBiquka2Class() { } + + public ChapterBiquka2Class(HtmlNode aElement) + { + // 第一章 梦 + this.Label = aElement.InnerText; + this.Url = aElement.GetAttributeValue("href", ""); + } + + public override List ReadChapterList(string HOST, string serialNumber) + { + // 从url中加载 + // https://www.biquka2.com/Html/Book/163/163912/ + HtmlAgilityPack.HtmlDocument doc = new HtmlWeb().LoadFromWebAsync(HOST + "/Html/Book/" + serialNumber + "/", Encoding.UTF8).Result; + if (doc == null) + { + MessageBox.Show("获取章节列表异常"); + return new List(); + } + + HtmlNodeCollection 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(); + } + + bool isStarted = false; + List chapterList = new List(); + for (int c = 0; c < aNodes.Count; c++) + { + // 第一章 梦 + HtmlNode aNode = aNodes[c]; + if (aNode == null) + { + continue; + } + + ChapterBiquka2Class chapterClass = new ChapterBiquka2Class(aNode); + if (!chapterClass.IsNull()) + { + chapterList.Add(chapterClass); + if (!isStarted) + { + isStarted = true; + } + } + } + + return chapterList; + } + + public override void ToTxt(string filePath, string HOST) + { + // 从url中加载 + // https://www.biquka2.com/Html/Book/163/163912/458850.html + HtmlAgilityPack.HtmlDocument doc = new HtmlWeb().LoadFromWebAsync(HOST + this.Url, Encoding.UTF8).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" + + conNodes[0].InnerHtml.Replace(" ", "").Split("网页版章节内容慢,请下载好阅小说app阅读最新内容")[0].Replace("
", "\n") + ); + } + } +} diff --git a/Classes/ChapterQiubiqugeClass.cs b/Classes/ChapterQiubiqugeClass.cs index dcd91df..b5acf0e 100644 --- a/Classes/ChapterQiubiqugeClass.cs +++ b/Classes/ChapterQiubiqugeClass.cs @@ -1,8 +1,6 @@ using HtmlAgilityPack; using HtmlToTxtWFA.Utils; using System.Collections.Generic; -using System.IO; -using System.Net.Http; using System.Text; using System.Windows.Forms; diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 5e3dc23..04dd883 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -164,6 +164,7 @@ namespace HtmlToTxtWFA "7小说", "i笔趣阁", "qiu笔趣阁", + "八戒中文", "读趣网", "键盘小说网", "乐文小说网", diff --git a/MainForm.cs b/MainForm.cs index 1892f02..3d868ea 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -19,6 +19,7 @@ namespace HtmlToTxtWFA ["7小说"] = "https://www.7qs.org", ["i笔趣阁"] = "http://www.ibiquge.cc", ["qiu笔趣阁"] = "https://www.qiubiquge.com", + ["八戒中文"] = "https://www.biquka2.com", ["读趣网"] = "https://www.xdu7.la", ["键盘小说网"] = "http://www.janpn.info", ["乐文小说网"] = "https://www.xlewen.com/", @@ -131,6 +132,10 @@ namespace HtmlToTxtWFA { chapterList = new ChapterQiubiqugeClass().ReadChapterList(host, serialNumber); } + else if (platform.Equals("八戒中文")) + { + chapterList = new ChapterBiquka2Class().ReadChapterList(host, serialNumber); + } else if (platform.Equals("读趣网")) { chapterList = new ChapterXdu7Class().ReadChapterList(host, serialNumber); -- Gitee