實現原理:1 每隔一段時間監控小說的目錄頁,判斷是否有新章節(我是通過比較每次獲取的章節數,如果這次獲取的比上一次多,就是更新了)
2 把新章節的作為郵件內容發送到郵箱中
3 微信接收該郵箱的提醒
貼關鍵部分代碼:注意使用類庫 HtmlAgilityPack ,可以搜一下就可以下載
獲取小說目錄的
/// <summary> /// 獲取目錄 /// </summary> /// <param name="url">小說頁目錄頁</param> /// <param name="xPath"></param> /// <param name="Encoding"></param> /// <returns></returns> public Dictionary<string, string> List(string url, string xPath, string Encoding) { using (WebClient client = new WebClient()) { Dictionary<string, string> result = new Dictionary<string, string>(); string html = null; try { ; client.Headers.Add("User-Agent", "Baiduspider"); client.Encoding = System.Text.ASCIIEncoding.GetEncoding(Encoding); html = client.DownloadString(url); } catch (Exception ex) { Log.WriteError(string.Format("類:NovelList ,方法:List中,獲取網頁{0},異常信息:{1}", url, ex.Message)); } HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(html); HtmlNode rootNode = doc.DocumentNode; HtmlNodeCollection nodeList = rootNode.SelectNodes(xPath); try { foreach (var item in nodeList) { if (!String.IsNullOrWhiteSpace(item.InnerText) && item.InnerText != " ") { if (!result.ContainsKey(item.InnerText)) { result.Add(item.InnerText, item.FirstChild.Attributes["href"].Value); } } } } catch (Exception ex) { Log.WriteError(string.Format("類:NovelList ,方法:List中,foreach,獲取網頁url:{0}異常信息:{1}", url, ex.Message)); } return result; } }
獲取具體章節的代碼:
/// <summary> /// 獲取章節的具體內容 /// </summary> /// <param name="url">小說章節的網址</param> /// <param name="xPath">XPath</param> /// <param name="Encoding">編碼</param> /// <returns></returns> public string Content(string url, string xPath, string Encoding) { using (WebClient client = new WebClient()) { string html = string.Empty; client.Headers.Add("User-Agent", "Baiduspider"); client.Encoding = ASCIIEncoding.GetEncoding(Encoding); html = client.DownloadString(url); HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(html); HtmlNode node = doc.DocumentNode.SelectSingleNode(xPath); foreach (var item in node.Descendants("script").ToArray()) { item.Remove(); } foreach (var item in node.Descendants("style").ToArray()) { item.Remove(); } return node.InnerHtml; } }
想給大家看下效果,就把我寫給朋友的教程貼在這。
相信很多人手機都裝有微信,畢竟微信是約炮界的利器。我們喜歡看小說的人,等待小說更新可以說是一件很痛苦的事,想著小說的劇情,焦急的刷新著網頁,看下小說更新了沒有。有時候,工作一半的時,也會看下小說是不是更新了。
今天向大家介紹使用微信來看小說最新章節的方法。先介紹一下原理:微信能夠接收郵箱的郵件,如果能夠把小說最新的章節當成郵件來發送,就能通過微信來看小說了。現在的問題是怎麼把小說的最新章節當成郵件來發送了呢?幸好,有家網站提供這個服務,就以《官策》為例。
1
2
3
4 [email protected] 添加到白名單中。以
設置[email protected] 添加到白名單中
5
6