标签:
铜梁视窗是我做的一个地区资讯网站,但是我只有一个人,那么怎么才能让资讯每天源源不断的采集进来的呢?
今天我给大家分享的就是入门方法:定点采集新闻【开发工具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; }
以上两个方法就是网站运行的基础了,明天将发布看铜梁视窗是怎么无人化运行的【一】,网站运营的核心技术,可能你也会,但是或许你以前没有想到过可以这样用!
标签:
原文地址:http://www.cnblogs.com/daneas/p/4846637.html