你的位置:首页 > ASP.net教程

[ASP.net教程]看铜梁视窗是怎么无人化运行的【一】


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

今天我给大家分享的就是入门方法:定点采集新闻【开发工具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;    }

  

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