想看小说,自己写个采集类,读网页文章写入txt文件-阿里云开发者社区

开发者社区> xland> 正文

想看小说,自己写个采集类,读网页文章写入txt文件

简介: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.
+关注继续查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;

namespace allen
{
    class Program
    {
        /// <summary>
        /// 根据网址取得HTML代码
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        static string GetHtml(string url)
        {
            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            Stream stream = response.GetResponseStream();
            StreamReader reader = new StreamReader(stream, Encoding.Default);
            string html = reader.ReadToEnd();
            stream.Close();
            return html;
        }
        static Regex reg;
        /// <summary>
        /// 过滤器,留下文章正文
        /// </summary>
        /// <param name="htmlStr"></param>
        /// <returns></returns>
        static string MyFilter(string htmlStr)
        {
            reg = new Regex(@"\s+");//先把任意空白符做掉
            htmlStr = reg.Replace(htmlStr, "");
            reg = new Regex("点此下载封神演义.txt</font></font></a></div></td>.*</div></td></tr><tr><tdclass=");//匹配出正文
            Match match = reg.Match(htmlStr);
            string result = match.Value;
            result = result.Replace("点此下载封神演义.txt</font></font></a></div></td>", "");
            result = result.Replace("</div></td></tr><tr><tdclass=","");
            result = result.Replace("</tr></table>", "");
            result = result.Replace("本文章下载于www.Txt66.com", "");
            result = result.Replace("<br>",Environment.NewLine);
            return result;
        }
        /// <summary>
        /// 循环读取每页的文章,写入记事本
        /// </summary>
        static void WriteFile()
        {
            int page_num = 1;
            string url = "http://www.txt66.com/read2.asp?id=8480&PageNum={0}";
            string url_temp = string.Empty;
            string html = string.Empty;
            string text = string.Empty;
            StreamWriter sw = new StreamWriter(@"F:\g.txt", true, Encoding.Unicode);
            while (page_num < 124)
            {
                url_temp = string.Format(url, page_num);
                html = GetHtml(url_temp);
                text = MyFilter(html);
                sw.Write(text);
                Console.WriteLine("写入第{0}页", page_num);
                System.Threading.Thread.Sleep(600);
                page_num++;
            }
            sw.Close();
        }
        /// <summary>
        /// 主函数
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            WriteFile();
            Console.ReadKey();
        }
    }
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
4072 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4502 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7767 0
[20180130]监测linux文件操作.txt
[20180130]监测linux文件操作.txt --//前几天做[20180125]环境变量TNS_ADMIN与RAC.txt,链接:http://blog.itpub.
848 0
想看小说,自己写个采集类,读网页文章写入txt文件
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.
668 0
[20121105]清除控制文件的信息.txt
[20121105]清除控制文件的信息.txt 参考链接:http://space.itpub.net/22578826/viewspace-722815 上午看了以上链接,学习如何清除控制文件的信息,这个仅仅用在测试环境,不能使用在生产系统.
423 0
+关注
xland
上市公司研发部门经理 管理着40个人以上的技术团队; 服务过诸多大型客户; 为很多知名开源项目提交过代码; 开发过几十万用户的APP; 技能:C++/.NET/JS/架构
329
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载