private void _urlcheckresult(string userId)
        {
            U_Url_ListBLL bll_UrlList = new U_Url_ListBLL();
            var           list        = bll_UrlList.Find().FindAll(n => n.Status == EnumUrlStatus.Normal.GetHashCode());

            #region foreach
            foreach (var item in list)
            {
                try
                {
                    if (!item.Url.UrlVerification())
                    {
                        bll_UrlList.UpdateStatus(item.Id, EnumUrlStatus.NotDefined.GetHashCode(), userId);
                    }
                    if (item.IconImg.IsNotNull() &&
                        !System.IO.File.Exists(string.Format("{0}\\{1}", Images.GenerateIconsPath, item.IconImg)) &&
                        !item.IcomStream.IsNotNull() &&
                        !item.IconImg.UrlVerification())
                    {
                        item.IconImg       = "";
                        item.LastUpdate_Id = userId;
                        bll_UrlList.Update(item);
                    }
                }
                catch { }
            }
            #endregion
        }
        public HttpResponseMessage AddUrl([FromBody] U_Url_List p)
        {
            U_Url_ListBLL bll_UrlList = new U_Url_ListBLL();
            U_Url_TypeBLL bllType     = new U_Url_TypeBLL();
            string        returnInfo  = string.Empty;

            #region 添加网站
            try
            {
                if (!string.IsNullOrEmpty(p.Url) && !string.IsNullOrEmpty(p.Name))
                {
                    if (p.Url.IsUrlFormat())
                    {
                        if (bllType.Find(string.Format("AND ID='{0}'", p.Types)) != null)
                        {
                            if (bll_UrlList.Find(string.Format("AND Url='{0}'", p.Url)) == null)
                            {
                                if (!string.IsNullOrEmpty(p.IconImg))
                                {
                                    if (!p.IconImg.IsUrlFormat())
                                    {
                                        returnInfo = "网址LOG错误,不是Url地址,请检查";
                                    }
                                }
                                if (string.IsNullOrEmpty(returnInfo))
                                {
                                    p.Id = GetStr.GetGuid;
                                    bll_UrlList.Add(new List <U_Url_List> {
                                        p
                                    });
                                    returnInfo = "添加成功";
                                }
                            }
                            else
                            {
                                returnInfo = "网址已存在,请确认";
                            }
                        }
                        else
                        {
                            returnInfo = "添加的类型不存,请确认";
                        }
                    }
                    else
                    {
                        returnInfo = "网址地址,错误,请检查";
                    }
                }
                else
                {
                    returnInfo = "网址地址或名称为空,请检查";
                }
            }
            catch
            {
                returnInfo = "发生错误";
            }
            #endregion
            return(JsonConvert.SerializeObject(returnInfo).ToHttpResponseMessage());
        }
        public HttpResponseMessage UrlTypeUpdate([FromBody] JObject obj)
        {
            int result = 0;

            if (obj != null)
            {
                try
                {
                    dynamic p           = obj;
                    var     arryList    = p.stringArry;
                    string  toId        = p.Id;
                    string  UserAccount = p.UserId;
                    if (toId.IsNotNull() && UserAccount.IsNotNull())
                    {
                        var bll = new U_Url_ListBLL();
                        List <U_Url_List> list = new List <U_Url_List>();
                        foreach (string item in arryList)
                        {
                            var entity = bll.Query <U_Url_List>(string.Format("Id='{0}'", item));
                            if (entity.IsNull())
                            {
                                continue;
                            }
                            entity.Types           = toId;
                            entity.LastUpdate_Id   = UserAccount;
                            entity.LastUpdate_Time = GetStr.GetCurrentDate;
                            list.Add(entity);
                        }
                        result = bll.Update(list);
                    }
                }
                catch { }
            }
            return(JsonConvert.SerializeObject(result).ToHttpResponseMessage());
        }
 public static void ReptitleChongbuluoUrl()
 {
     #region 数据搜索
     Dictionary <string, string> dict = new Dictionary <string, string>();
     dict.Add("学术搜索", "http://scholar.chongbuluo.com/");
     dict.Add("数据搜索", "http://data.chongbuluo.com/");
     dict.Add("图片搜索", "http://image.chongbuluo.com/");
     dict.Add("快搜索", "http://search.chongbuluo.com/");
     var               bll = new U_Url_ListBLL();
     U_Url_List        entity;
     List <U_Url_List> listEntity = new List <U_Url_List>();
     foreach (var d in dict)
     {
         var result = DownloadData.GetDownloadData(d.Value);
         var filter = " <ul id=\"foo\" class=\"chongbuluo\">";
         result = result.Substring(result.IndexOf(filter) + filter.Length);
         filter = "</ul>";
         result = result.Substring(0, result.IndexOf(filter));
         var list = Regex.Split(result, "</li>");
         foreach (var item in list)
         {
             var a = item.Trim();
             if (!a.StartsWith("<li "))
             {
                 continue;
             }
             entity = new U_Url_List();
             var x = Regex.Split(item, ">");
             if (x.Length < 4)
             {
                 continue;
             }
             entity.Id      = System.Guid.NewGuid().ToString("N");
             entity.IconImg = Regex.Split(x[1], "\"")[1];
             if (a.Contains("<ul class=\"more\">"))
             {
                 entity.Url  = Regex.Split(x[7], "\"")[1];
                 entity.Name = Regex.Split(x[8], "<")[0];
             }
             else
             {
                 entity.Url  = Regex.Split(x[2], "\"")[1];
                 entity.Name = Regex.Split(x[3], "<")[0];
             }
             entity.Source      = d.Value + " 爬取";
             entity.Create_Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
             entity.Create_Id   = "pc";
             entity.Status      = 1;
             entity.Types       = d.Key;
             listEntity.Add(entity);
             Console.WriteLine(string.Format("{0} {1} {2}写入成功", d.Key, entity.Name, entity.Url));
         }
         bll.Add(listEntity);
         Console.WriteLine("虫虫部落抓取写入完成……");
     }
     #endregion
 }
        public HttpResponseMessage GetJoinTypeFind([FromBody] JObject obj)
        {
            List <U_Url_List> result = new List <U_Url_List>();
            U_Url_ListBLL     bll    = new U_Url_ListBLL();

            if (obj != null)
            {
                dynamic p = obj;
                int     i = p.Status;
                result = bll.JoinTypeFind().FindAll(n => n.Status == i);
            }
            else
            {
                result = bll.JoinTypeFind();
            }
            return(JsonConvert.SerializeObject(result).ToHttpResponseMessage());
        }
        public HttpResponseMessage PerformTask([FromBody] JObject obj)
        {
            dynamic parameter = obj;

            if (parameter != null)
            {
                string method = parameter.method.ToString().ToLower();
                switch (method)
                {
                case "web":
                    Task.Factory.StartNew(() => WebSiteSecurity.Request(true));
                    break;

                case "icom":
                    string        res         = string.Empty;
                    U_Url_ListBLL bll_UrlList = new U_Url_ListBLL();
                    Task.Factory.StartNew(() => _urlcheckresult("SystemAuto"));
                    break;
                }
            }
            return(JsonConvert.SerializeObject("执行成功").ToHttpResponseMessage());
        }
        private Tuple <int, string> GeturlDarasResult(int index = 0)
        {
            int    nex;
            string msg = string.Empty;

            #region 变量定义
            StringBuilder str    = new StringBuilder();
            StringBuilder str2   = new StringBuilder();// g-br13
            var           img    = "<img src=\"../{0}\" alt=\"www.kebue.com\" style=\"max-width:25px;max-height:18px;\"/>";
            var           header = "<div class=\"row kebue_t g-grid g-bg11 govsite-top\"><div class=\"g-gc g-fc20 g-brwr title kebue_h\" {0}>{1}</div>{2}</div></div>";
            var           html   = "<div class=\"g-gc\"><a href='{2}' title='{3}' class=\"lba\" target=\"_blank\" onclick=\"clickrate('{0}')\">{4}{1}</a></div>";
            #endregion
            if (index < UrlTypeBLL.Types.Count())
            {
                var  type = UrlTypeBLL.Types.ToList()[index];
                var  list = new U_Url_ListBLL().QuerySql(string.Format(SqlStr.GetHomeUrlList, type.Id));
                int  i    = 0;
                bool IsH  = true;
                foreach (var item in list)
                {
                    string resImg = string.Empty;
                    #region name
                    string name = item.Name;
                    if (name.GetStrLength() > 10)
                    {
                        name = name.StrCut(10);
                    }
                    #endregion
                    #region title
                    string title = item.Name;
                    if (!string.IsNullOrEmpty(item.Title))
                    {
                        title = title + "    " + item.Title;
                    }
                    #endregion
                    #region 格式组装
                    if (item.IconImg.IsNotNull() && System.IO.File.Exists(string.Format("{0}\\{1}", Images.GenerateIconsPath, item.IconImg)))
                    {
                        resImg = string.Format(img + "&nbsp;&nbsp;", Images.GetIcomPath + item.IconImg);
                    }
                    str.AppendFormat(html, item.Id, name, item.Url, title, resImg);
                    i++;
                    if (IsH && i == 11 || (list.Count() <= 11 && list.Count() == i))
                    {
                        str2.AppendFormat("{0}</div></div>", string.Format(header, string.Format("id=dw_{0}", type.Id), type.Name, str.ToString()));
                        str.Length = 0;
                        str.Clear();
                    }
                    else if ((i % 11 == 0 && i > 11) || (i == list.Count()))
                    {
                        str2.AppendFormat("{0}</div></div>", string.Format(header, "", "", str.ToString()));
                        str.Length = 0;
                        str.Clear();
                    }
                    #endregion
                }
                var htmlContent = str2.ToString();
                if (htmlContent.Length > 10 && !htmlContent.Contains("<hr/>"))
                {
                    htmlContent = htmlContent + "<hr/>";
                }
                nex = index + 1;
                msg = htmlContent;
            }
            else
            {
                nex = 0;
                msg = "";
            }
            return(new Tuple <int, string>(nex, msg));
        }
示例#8
0
        public static string GeturlModify(string id)
        {
            var list = new U_Url_ListBLL().QuerySql(string.Format(SqlStr.GetmyModalModify, id)).FirstOrDefault();

            return(JsonConvert.SerializeObject(list));
        }
        public static void ReptitleH_UIUrl()
        {
            string url    = "http://www.h-ui.net/site.shtml";
            var    result = DownloadData.GetDownloadData(url);
            string filter = "<div class=\"bk_gray mt-10\">";

            if (result.Contains(filter))
            {
                result = result.Substring(result.IndexOf(filter));
            }
            filter = "</article>";
            if (result.Contains(filter))
            {
                result = result.Substring(0, result.IndexOf(filter));
            }
            filter = "<dl class=\"sitelist_1 cl\">";
            foreach (var item in Regex.Split(result, filter).Where(n => n.Trim().StartsWith("<dt class")))
            {
                result = item;
                filter = ">";
                if (result.Contains(filter))
                {
                    result = result.Substring(result.IndexOf(filter) + filter.Length);
                }
                filter = "<";
                if (result.Contains(filter))
                {
                    result = result.Substring(0, result.IndexOf(filter));
                }
                var titie = result;

                filter = "<ul class=\"cl\">";
                if (item.Contains(filter))
                {
                    result = item.Substring(item.IndexOf(filter) + filter.Length);
                }
                filter = "</ul>";
                if (result.Contains(filter))
                {
                    result = result.Substring(0, result.IndexOf(filter)).Trim();
                }
                filter = "<li>";
                var               list = Regex.Split(result, filter);
                var               bll  = new U_Url_ListBLL();
                U_Url_List        entity;
                List <U_Url_List> listEntity = new List <U_Url_List>();
                foreach (var key in list)
                {
                    if (string.IsNullOrEmpty(key))
                    {
                        continue;
                    }
                    filter = "\"";
                    var k = Regex.Split(key, filter);
                    if (k.Length > 6)
                    {
                        entity = new U_Url_List();
                        if (ReptitleDownload.VerifyURLIsValid(k[5]))
                        {
                            result = k[6];
                            filter = "</a>";
                            if (result.Contains(filter))
                            {
                                result = result.Substring(0, result.IndexOf(filter)).Substring(1);
                            }
                            else
                            {
                                result = k[7];
                            }
                            entity.Url = k[5];
                        }
                        else if (ReptitleDownload.VerifyURLIsValid(k[7]))
                        {
                            result = k[8];
                            filter = "</a>";
                            if (result.Contains(filter))
                            {
                                result = result.Substring(0, result.IndexOf(filter)).Substring(1);
                            }
                            entity.Url = k[7];
                        }
                        entity.Id          = System.Guid.NewGuid().ToString("N");
                        entity.Name        = result;
                        entity.Source      = url + " 爬取";
                        entity.Create_Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                        entity.Create_Id   = "pc";
                        entity.Status      = 1;
                        entity.Types       = titie;
                        listEntity.Add(entity);
                        Console.WriteLine(string.Format("{0} {1} {2}", titie, k[5], result));
                    }
                    else
                    {
                        Console.WriteLine("异常数据:" + key);
                    }
                }
                bll.Add(listEntity);
                Console.WriteLine("" + url + "落抓取写入完成……");
            }
        }
        public HttpResponseMessage Update_Url(U_Url_List t)
        {
            var result = new U_Url_ListBLL().Update(t);

            return(JsonConvert.SerializeObject(result).ToHttpResponseMessage());
        }
        private List <UrlList> _geturlalldata(string parameter, string parameter2)
        {
            U_Url_ListBLL bll = new U_Url_ListBLL();

            if (parameter == "undefined")
            {
                parameter = "1";
            }
            if (string.IsNullOrEmpty(parameter))
            {
                parameter2 = null;
            }
            List <UrlList> list = new List <UrlList>();
            var            i    = 0;

            int.TryParse(parameter, out i);
            var result = bll.JoinTypeFind().FindAll(n => n.Status == i);

            if (!string.IsNullOrEmpty(parameter2))
            {
                result = result.FindAll(n => n.Url.Contains(parameter2) || n.Id.Contains(parameter2) || n.Name.Contains(parameter2) || n.Types.Contains(parameter2));
            }
            foreach (var item in result)
            {
                UrlList e         = new UrlList();
                string  statusCss = string.Empty;
                if (item.Status == 0)
                {
                    statusCss = "btn btn-rounded btn-danger btn-outline";
                }
                else if (item.Status == 1)
                {
                    statusCss = "btn btn-rounded btn-success";
                }
                else if (item.Status == 2)
                {
                    statusCss = "btn btn-rounded btn-warning";
                }
                else if (item.Status == 3)
                {
                    statusCss = "btn btn-rounded btn-danger";
                }
                else if (item.Status == 4)
                {
                    statusCss = "btn btn-rounded btn-primary";
                }
                else
                {
                    statusCss = "btn btn-rounded ";
                }
                e.Id     = item.Id;
                e.Name   = string.Format("<div class=\"input-group\"><input type=\"text\" value=\"{0}\" class=\"form-control\" placeholder=\"名称……\" id=\"txtName_{1}\"><span class=\"input-group-btn\"><button class=\"btn btn-default\" type=\"button\" onclick=\"UrlNameUpdateSave('{1}')\">Go</button></span></div>", item.Name, item.Id);
                e.Url    = string.Format("<div class=\"input-group\"><input type=\"text\" value=\"{0}\" class=\"form-control\" placeholder=\"网址……\" id=\"txtUrl_{1}\"><span class=\"input-group-btn\"><button class=\"btn btn-default\" type=\"button\" onclick=\"UrlUpdateSave('{1}')\">Go</button></span></div>", item.Url, item.Id);
                e.Source = string.Format("<div class=\"input-group\"><input type=\"text\" value=\"{0}\" class=\"form-control\" placeholder=\"网址描述……\" id=\"txtSource_{1}\"><span class=\"input-group-btn\"><button class=\"btn btn-default\" type=\"button\" onclick=\"UrlSourceUpdateSave('{1}')\">Go</button></span></div>", item.Source, item.Id);
                //e.Title = string.Format("<div class=\"input-group\"><input type=\"text\" value=\"{0}\" class=\"form-control\" placeholder=\"Title……\" id=\"txtTitle_{1}\"><span class=\"input-group-btn\"><button class=\"btn btn-default\" type=\"button\" onclick=\"UrlTitleUpdateSave('{1}')\">Go</button></span></div>", item.Title, item.Id);
                e.Types     = string.Format("<a onclick=\"myModalModify('{0}')\">{1}</a>", item.Id, item.Types);
                e.SortDesc  = string.Format("<div class=\"input-group\"><input type=\"text\" value=\"{0}\" class=\"form-control\" placeholder=\"降序排列……\" id=\"txtSort_{1}\"><span class=\"input-group-btn\"><button class=\"btn btn-default\" type=\"button\" onclick=\"btnSortSave('{1}')\">Go</button></span></div>", item.SortDesc.ToString(), item.Id);
                e.Status    = string.Format("<button class=\"{2}\" id='btnStatus{0}' onclick=\"myStatusEdit('{0}');\">{1}</button>", item.Id, item.Status.ToEnumDiscription <EnumUrlStatus>(), statusCss);
                e.Operation = string.Format("<a class=\"btn btn-info btn-circle\" href=\"{0}\" target=\"_blank\" title=\"{1}\" id=\"txtfwxtest_{2}\" onclick=\"BtnClearClass('{2}')\"> <i class=\"glyphicon glyphicon-ok\"></i></a>", item.Url, item.Title, item.Id);
                list.Add(e);
            }
            return(list);
        }
        private HttpResponseMessage _processrequest(string method, string parameter, string parameter2)
        {
            string returnInfo = string.Empty;

            if (method.IsNotNull())
            {
                U_Url_ClickRateBLL clickRateBll = new U_Url_ClickRateBLL();
                U_Url_TypeBLL      bllType      = new U_Url_TypeBLL();
                U_Url_ListBLL      bllMenuList  = new U_Url_ListBLL();
                U_Url_ListBLL      bll          = new U_Url_ListBLL();
                switch (method)
                {
                case "geturlalldata":
                    returnInfo = JsonConvert.SerializeObject(_geturlalldata(parameter, parameter2));
                    break;

                case "getcurrentobj":
                    if (!string.IsNullOrEmpty(parameter))
                    {
                        returnInfo = JsonConvert.SerializeObject(bll.Find(string.Format("AND ID='{0}'", parameter)));
                    }
                    break;

                case "gettypedata":
                    returnInfo = JsonConvert.SerializeObject(UrlTypeBLL.UrlTypeListManager.OrderByDescending(n => n.SortDesc));
                    break;

                case "geturlentity":
                    if (!string.IsNullOrEmpty(parameter))
                    {
                        returnInfo = JsonConvert.SerializeObject(bll.FindList(string.Format("AND Types='{0}'", parameter)).OrderBy(n => n.SortDesc));
                    }
                    break;

                case "addclickrate":
                    U_Url_ClickRate rate = new U_Url_ClickRate();
                    //rate.Id = GetStr.GetGuid;
                    //rate.UserAgents = context.Request.QueryString["b"];
                    //rate.UrlId = context.Request.QueryString["a"];
                    //rate.Ip = context.Request.QueryString["c"];
                    //rate.Msg = context.Request.QueryString["d"];
                    //rate.ClickDate = GetStr.GetCurrentDate;
                    //if (!string.IsNullOrEmpty(rate.UserAgents) && !string.IsNullOrEmpty(rate.UrlId))
                    //{
                    //    clickRateBll.Add(rate);
                    //}
                    break;

                case "geturlmodify":
                    returnInfo = JsonConvert.SerializeObject(new U_Url_ListBLL().QuerySql(string.Format(SqlStr.GetmyModalModify, parameter)).FirstOrDefault());
                    break;

                case "getclickrateday":
                    if (string.IsNullOrEmpty(parameter))
                    {
                        DateTime now = DateTime.Now;
                        parameter = new DateTime(now.Year, now.Month, 1).ToString(GetStr.yyyyMMddmmHHss);
                    }
                    if (string.IsNullOrEmpty(parameter2))
                    {
                        parameter2 = GetStr.GetCurrentDate;
                    }
                    returnInfo = JsonConvert.SerializeObject(clickRateBll.FinList <_ClickRate>(string.Format(SqlStr.GetClickRateDay, parameter, parameter2)));
                    break;

                case "getclickratemonth":
                    if (string.IsNullOrEmpty(parameter))
                    {
                        parameter = DateTime.Now.AddYears(-1).ToString(GetStr.yyyyMMddmmHHss);
                    }
                    if (string.IsNullOrEmpty(parameter2))
                    {
                        parameter2 = GetStr.GetCurrentDate;
                    }
                    returnInfo = JsonConvert.SerializeObject(clickRateBll.FinList <_ClickRate>(string.Format(SqlStr.GetClickRateMonth, parameter, parameter2)));
                    break;

                case "getcheckresult":
                    if (string.IsNullOrEmpty(parameter))
                    {
                        DateTime now = DateTime.Now;
                        parameter = new DateTime(now.Year, now.Month, 1).ToString(GetStr.yyyyMMddmmHHss);
                    }
                    if (string.IsNullOrEmpty(parameter2))
                    {
                        parameter2 = GetStr.GetCurrentDate;
                    }
                    returnInfo = JsonConvert.SerializeObject(clickRateBll.FinList <U_Url_Check>(string.Format(SqlStr.GetCheckResult, parameter, parameter2)));
                    break;

                case "leaveamessage":
                    if (string.IsNullOrEmpty(parameter))
                    {
                        DateTime now = DateTime.Now;
                        parameter = new DateTime(now.Year, now.Month, 1).ToString(GetStr.yyyyMMddmmHHss);
                    }
                    if (string.IsNullOrEmpty(parameter2))
                    {
                        parameter2 = GetStr.GetCurrentDate;
                    }
                    returnInfo = JsonConvert.SerializeObject(clickRateBll.FinList <LeaveAMessage>(string.Format(SqlStr.LeaveAMessage, parameter, parameter2)));
                    break;

                case "log":
                    if (string.IsNullOrEmpty(parameter))
                    {
                        DateTime now = DateTime.Now;
                        parameter = new DateTime(now.Year, now.Month, 1).ToString(GetStr.yyyyMMddmmHHss);
                    }
                    if (string.IsNullOrEmpty(parameter2))
                    {
                        parameter2 = GetStr.GetCurrentDate;
                    }
                    returnInfo = JsonConvert.SerializeObject(clickRateBll.FinList <S_Log>(string.Format(SqlStr.LogSql, parameter, parameter2)));
                    break;
                }
            }
            return(JsonConvert.SerializeObject(returnInfo).ToHttpResponseMessage());
        }
        public HttpResponseMessage UpadateValue([FromBody] U_Url_List entity)
        {
            var result = new U_Url_ListBLL().Update(entity);

            return(JsonConvert.SerializeObject(result).ToHttpResponseMessage());
        }
        public HttpResponseMessage GetWebsiteStatistics()
        {
            List <UrlType> result = new U_Url_ListBLL().FinList <UrlType>(SqlStr.GetHomePageCount);

            return(JsonConvert.SerializeObject(result).ToHttpResponseMessage());
        }