/// <summary> /// 更新全部书籍 /// </summary> public static void BooksUpdate(object ob) { //获取全部书籍 DataTable dt = SQLiteDBHelper.ExecuteDataTable("select *from Books", null); List <Book> Books = ModelConvertHelper <Book> .DataTableToList(dt); foreach (Book book in Books) { //获取初始搜索文本 string html = GetHtml.GetHttpWebRequest(book.Url); BookSource bs = GetBookSource(book.Source); //检测书源有效性 if (bs.Title is null) { Tips tips = new Tips(book.Name + "的书源不存在,请检查书源是否已经被删除掉?"); tips.Show(); return; } //获取最新章节 string LatestChapters = Tool.GetRegexStr(html, bs.NewestRegular).Trim(); //获取更新时间 string Update = Tool.GetRegexStr(html, bs.UpdateRegular).Trim(); SQLiteDBHelper.ExecuteNonQuery("Update Books set 'Newest' = '" + LatestChapters + "', 'Update' = '" + Tool.GetUpdataDate(Update) + "' where Id =" + book.Id, null); } ((MainWindow)ob).Dispatcher.Invoke(new Action(() => { ((MainWindow)ob).DataContext = DataFetch.GetBooks(); })); }
/// <summary> /// 获取网页内容 /// </summary> /// <param name="url">需要查询的链接</param> /// <returns></returns> public static string GetHttpWebRequest(string url) { //网站编码 string code = string.Empty; BookSource bookSource = DataFetch.URLGetBookSource(url); //防止为NULL //if (bookSource == null) return ""; if (bookSource.Code == null || bookSource.Code.Trim().Length <= 0) { code = GetCode(url); bookSource.Code = code; SQLiteDBHelper.ExecuteDataTable("update BookSource set Code='" + code + "' where Url='" + bookSource.Url + "'; ", null); TempData.UpdateBookSourceS(); } else { code = bookSource.Code; } return(GetHttp(url, code)); }