网站是怎么无人化运行的【一】

本文介绍了一种使用C#实现的网页资讯自动采集方法,包括纯文本及带图片内容的采集方式,并提供了具体代码示例。

铜梁视窗是我做的一个地区资讯网站,但是我只有一个人,那么怎么才能让资讯每天源源不断的采集进来的呢?

今天我给大家分享的就是入门方法:定点采集新闻【开发工具VS2012】

 

采集资讯必须要有的就是一个能够采集各种网页不报错的好方法,下面的代码可以直接复制使用:

        private string PushToWeb(string url, Encoding encode)  //铜梁视窗www.5atl.com无人采集
        {
            try
            {
                string htmlStr = "";
                if (!String.IsNullOrEmpty(url))
                {
                    WebRequest request = WebRequest.Create(url);            //实例化WebRequest对象
                    WebResponse response = request.GetResponse();           //创建WebResponse对象
                    Stream datastream = response.GetResponseStream();       //创建流对象

                    StreamReader reader = new StreamReader(datastream, encode);
                    htmlStr = reader.ReadToEnd();                           //读取数据
                    reader.Close();
                    datastream.Close();
                    response.Close();
                }
                return htmlStr;
            }
            catch
            {
                return "";
            }
        }

  

有的网页是纯文字的,以上方法即可,但是有的网页是带图片的,而你又不想让自己的网站全是别人的外链,这该怎么办?按照以下方法思路解决你的问题吧:

        public string GetLocalTextImg(string page, string title)  //铜梁视窗www.5atl.com无人采集,图片下载到本地
        {
            string regimg = "src=\"http:(?<url>[^\"]*)\"";

            MatchCollection ms = Regex.Matches(page, regimg);

            if (ms == null || ms.Count < 1)
            {
                return page;
            }

            foreach (Match m in ms)
            {
                string imgurl = "http:" + m.Groups[1].Value;

                string extend = imgurl.Substring(imgurl.LastIndexOf(".")).ToLower();

                bool needsave = true;

                if (extend != ".gif" && extend != ".jpg" && extend != ".png" && extend != ".jpeg" && extend != ".gif")
                {
                    needsave = false;
                    extend = ".png";
                }

                string dir = "/Attachment/DownImg/" + DateTime.Now.ToString("yyyyMM");

                string sdir = Server.MapPath(dir);

                string guid = Guid.NewGuid().ToString();

                if (!Directory.Exists(sdir))
                {
                    Directory.CreateDirectory(sdir);
                }

                string path = sdir + "/" + guid + extend;

                bool saved = FileHelper.DownWebImg(path, imgurl);

                if (!saved)
                {
                    continue;
                }

                string savedurl = dir + "/" + guid + extend;

                page = page.Replace(imgurl, savedurl);

                try
                {
                    if (needsave)
                    {
                        CMS_Albums alb = new CMS_Albums();
                        alb.AlbumDescription = title;
                        alb.AlbumName = title;
                        alb.AlbumPic = savedurl;
                        alb.AlbumType = "";
                        alb.ShopId = 0;
                        alb.KeyWords = title;
                        alb.Smallone = savedurl;

                        alb.PicGuid = guid;

                        CMS_AlbumsBaseDAL.Create(alb);
                    }
                }
                catch
                { }
            }

            return page;
        }

  

以上两个方法就是网站运行的基础了,明天将发布看铜梁视窗是怎么无人化运行的【一】,网站运营的核心技术,可能你也会,但是或许你以前没有想到过可以这样用!

转载于:https://www.cnblogs.com/daneas/p/4846637.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值