/// <summary> /// 添加一条新闻 /// </summary> /// <param name="model">新闻实体</param> /// <returns></returns> public static int InsertMedia(DtoNewsMedia model) { try { if (model.Description == null) { model.Description = ""; } if (model.PicOriginalUrl == null) { model.PicOriginalUrl = ""; } if (model.PicUrl == null) { return(-1); } if (model.NewsId < 1) { return(-1); } //var item = new T_NewsMedia() //{ // Description = model.Description, // IsShow = 1, // NewsId = model.NewsId, // Orders = model.Orders, // PicOriginalUrl = model.PicOriginalUrl, // PicUrl = model.PicUrl, // //ThumbnailUrl = model.ThumbnailUrl, //}; //var id = item.InsertIdNoTrans(); return(0); } catch (Exception ex) { Log.Error(ex.Message + ex.StackTrace); return(-1); } }
/// <summary> /// 主要处理内容里广告性质的文字及样式 /// </summary> /// <param name="contents"></param> /// <returns></returns> public static List <DtoNewsMedia> GetImgList(string contents) { var str = contents; var list = new List <DtoNewsMedia>(); try { //提取内容中的图片链接 var imgList = XpathHelper.GetAttrValueListByXPath(str, "//img", "src"); if (imgList != null && imgList.Count > 0) { var i = 0; foreach (var img in imgList) { try { var model = new DtoNewsMedia() { Description = "", IsShow = 1, NewsId = 0, Orders = i, PicOriginalUrl = img, PicUrl = img, ThumbnailUrl = img }; list.Add(model); } catch (Exception ex) { } i++; } } } catch (Exception ex) { } return(list); }
public List <DtoNewsMedia> NewsPicGatheringOne(string newsUrl) { try { var list = new List <DtoNewsMedia>(); var content = ""; var picUrl = ""; var curPage = 0; var totalPage = 1; var strNewContent = HttpHelper.GetContentByMobileAgent(newsUrl, Encoding.UTF8); var strScriptList = XpathHelper.GetInnerHtmlListByXPath(strNewContent, "/html/body/script"); var strSrcipt = ""; if (strScriptList != null && strScriptList.Count > 0) { foreach (var str in strScriptList) { if (str.Contains("G_listdata")) { strSrcipt = str; break; } } } var istrart = strSrcipt.IndexOf('['); var iend = strSrcipt.IndexOf(']'); var strJson = strSrcipt.Substring(istrart, iend - istrart + 1); var imgList = JsonConvert.DeserializeObject <List <DtoIfengImg> >(strJson); //不通过网页html分析内容了,因为要的内容在script中 //var strcurPage = StrHelper.GetStrByXPath(strNewContent, "//div[@id='picTxt']/div/span[1]", ""); //curPage = Convert.ToInt32(StrHelper.FormatHtml(strcurPage)); //var strtotalPage = StrHelper.GetStrByXPath(strNewContent, "//div[@id='picTxt']/div/span[3]", ""); //totalPage = Convert.ToInt32(StrHelper.FormatHtml(strtotalPage)); //content = StrHelper.GetStrByXPath(strNewContent, "//div[@id='picTxt']/ul/li/p", ""); //content = StrHelper.FormatHtml(content); //picUrl = StrHelper.GetAttrValueByXPath(strNewContent, "//img[@id='photo']", "src"); //*[@id="picTxt"]/ul/li/p if (imgList != null && imgList.Count > 0) { curPage = 1; foreach (var img in imgList) { //id 临时用来记录总图片数 var model = new DtoNewsMedia { Description = img.title.Trim(), Orders = curPage, PicUrl = img.img, PicOriginalUrl = img.originalimg, IsShow = 1, Id = imgList.Count }; curPage++; list.Add(model); } } return(list); } catch (Exception ex) { Log.Error(newsUrl + " 错误:" + ex.Message + ex.StackTrace); } return(null); }