首页 / C# / C#采集有声小说控制台(附源码)
C#采集有声小说控制台(附源码)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#采集有声小说控制台(附源码),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3775字,纯文字阅读大概需要6分钟。
内容图文
![C#采集有声小说控制台(附源码)](/upload/InfoBanner/zyjiaocheng/804/9b8617e77e134e73b42428902a2deae9.jpg)
namespace CJ.BLL
{
??? public class FictionBLL
??? {
?? ?private string domain = "www.xiats.com";//提前定义好变量,这个变量以后会总用到。不用总重复写了
??????? public void main()
??????? {
??????????? //首先要找到一个列表页www.xiats.com/yslist/1.html
??????????? string url = domain + "/yslist/1.html";//找到该页的最大页数,为了做遍历用
??????????? string html = Tool.GetHtml(url);//获取到源码
??????????? int maxPage = Tool.ToInt32(Regex.Match(html, "Page (?:\\d+) of (\\d+)</td>").Groups[1].Value);//正则里.*?是获取所有文字,包括数字,.Groups[2].Value指的是获取到第二个(.*?)里的数据
??????????? //好了。现在我们开始遍历数据
??????????? //要先分析出地址的下一页是什么
??????????? //所以要点开列表的第2页 www.xiats.com/yslist/1_2.html
??????????? //好。最后真实地址找到。把2换成任意字符,如www.xiats.com/yslist/1_page.html
??????????? string listurl = domain + "/yslist/1_page.html";
??????????? for (int i = 1; i <= maxPage; i++)
??????????? {
??????????????? listurl = listurl.Replace("page", i.ToString());//获取到真实地址
??????????????? List(listurl);
??????????? }
??????? }
??????? /// <summary>
??????? /// 列表页数据分析
??????? /// </summary>
??????? /// <param name="url"></param>
??????? public void List(string url)
??????? {
??????????? //这里主要是获取到小说详情页的地址。
??????????? string html = Tool.GetHtml(url);
??????????? //获取到源码后要把大的范围缩小,我们只需要中间的列表页信息
??????????? html = Regex.Match(html, "<DIV class=\"layout_newlist\">([\\s\\S]+?)<DIV id=div_3>", RegexOptions.IgnoreCase).Groups[1].Value;//RegexOptions.IgnoreCase指的是忽略大小写
??????????? //接下来就要取出详情页地址了
??????????? MatchCollection matchs = Regex.Matches(html, "<DIV><A href=\"(.*?)\">");
??????????? foreach (Match item in matchs)
??????????? {
??????????????? string detailurl = domain + item.Groups[1].Value;//就这么简单的获取到了详情页地址
??????????????? Detail(detailurl);//最麻烦的详情页分析来了
??????????? }
??????? }
??????? /// <summary>
??????? /// 详情页分析
??????? /// </summary>
??????? /// <param name="url"></param>
??????? public void Detail(string url)
??????? {
??????????? string html = Tool.GetHtml(url);
??????????? string title = Regex.Match(html, "<h3>(.*?)</h3>", RegexOptions.IgnoreCase).Groups[1].Value;
??????????? string broadcast = Regex.Match(html, "<LI>播音:<SPAN style=\"COLOR: red\"><font color=\"blus\"><a(?:.*?)\">(.*?)</a>").Groups[1].Value;
??????????? string author = Regex.Match(html, "<LI>作者:<a title=\"(?:.*?)\" href=\"(?:.*?)\">(.*?)</a>").Groups[1].Value;
??????????? string state = Regex.Match(html, " <LI>状态:(.*?)</LI>").Groups[1].Value;
??????????? string content = Regex.Match(html, "小说简介</span></li></div>([\\s\\S]+?)</div>", RegexOptions.IgnoreCase).Groups[1].Value;
??????????? content = content.Replace("<div>", string.Empty);
??????????? //下一步就是要把获取到的数据源写到数据库了。这里不做数据库操作的DEMO。
??????????? //其它的大同小意,就不一一写出规则了。如果有问题,可以加入群一起讨论学习
??????????? //可能你已经发现。正则就是两种
??????????? //1、.*? 就是规则出所有文字
??????????? //2、[\\s\\S]+? 获取含有\r\n\t这类的文字内容
??????????? //做采集无非就是把大的内容缩放到最小。然后在匹配出想要获取的内容
??????????? //注:以上内容只是学习参考,数据还是最好自己原创。剽窃是对他人和自己的不公平 。
??????? }
??? }
}
C#源码:
c#采集有声小说控制台源码? 站点:运维生存时间? 网址:http://www.ttlsa.com/html/3627.html
转载于:https://my.oschina.net/766/blog/211555
内容总结
以上是互联网集市为您收集整理的C#采集有声小说控制台(附源码)全部内容,希望文章能够帮你解决C#采集有声小说控制台(附源码)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。