示例#1
0
        /// <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);
            }
        }
示例#2
0
        /// <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);
        }
示例#3
0
        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);
        }