예제 #1
0
        /// <summary>
        /// 下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnNextPage_Click(object sender, RoutedEventArgs e)
        {
            var totalPage     = PageEntity.TotalPage;
            var rowsNum       = PageEntity.NowPage;
            var totalRowsPage = PageEntity.TotalRowsPage;
            var remain        = PageEntity.RemainPage;
            //判断页面最后一页
            var nowPageSize = (Convert.ToInt32(lblNowPage.Content.ToString())); //当前页面页数
            var data        = nowPageSize * totalRowsPage;                      //var nowPageSizeNum = nowPageSize * rowsNum;

            if (nowPageSize >= totalPage - 1)                                   // 3>=3
            {
                nowPageSize             = totalPage;
                this.lblNowPage.Content = totalPage;
            }
            else if (nowPageSize == totalPage) //3<3+1
            {
                if (remain > 1)
                {
                    data = remain;
                }
            }
            LocTitleListService locTitleListService = new LocTitleListService();

            this.gridTitle.ItemsSource = locTitleListService.SelectLocalTitleList(totalRowsPage.ToString(), data.ToString());
            nowPageSize             = PageEntity.NowPage + 1;
            this.lblNowPage.Content = nowPageSize;
            PageEntity.NowPage      = nowPageSize;
        }
예제 #2
0
        /// <summary>
        /// 下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Btn_NextPage(object sender, RoutedEventArgs e)
        {
            // this.OnClick(e);
            var totalPage = PageEntity.TotalPage;
            var rowsNum   = PageEntity.NowPage;
            //判断页面最后一页
            var nowPageSize    = (Convert.ToInt32(lblNowPage.Content.ToString()));//当前页面页数
            var nowPageSizeNum = nowPageSize * rowsNum;

            if (nowPageSize < 1)
            {
                nowPageSize = 1;
            }
            else if (nowPageSizeNum >= totalPage)
            {
                nowPageSize = totalPage;
            }
            else
            {
                nowPageSize = nowPageSize + 1;
            }
            PageEntity.NowPage = nowPageSize;
            LocTitleListService locTitleListService = new LocTitleListService();
            var data = locTitleListService.SelectLocalTitleList(rowsNum.ToString(), nowPageSize.ToString());//2,2
        }
예제 #3
0
        /// <summary>
        /// 读取Sqlite获取贴吧标题列表
        /// </summary>
        /// <returns></returns>
        public async Task <bool> GetTitleListBySqlite()
        {
            LocTitleListService locContentListService = new LocTitleListService();

            locContentListService.SelectLocalTitleList("50", "0");
            return(false);
        }
예제 #4
0
        /// <summary>
        /// 初始化加载数据
        /// </summary>
        public void Init()
        {
            ObservableCollection <ResultEntity> tbTitle = new ObservableCollection <ResultEntity>();
            LocTitleListService locTitleListService     = new LocTitleListService();
            var totalNum = locTitleListService.SelectAllCount();
            var data     = locTitleListService.SelectLocalTitleList("50", "0");

            this.gridTitle.ItemsSource = data;
            Page(totalNum.ToString(), "50", "1", "1");
        }
예제 #5
0
        /// <summary>
        /// 业务手动删除标题
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnDeleteTitle_Click(object sender, RoutedEventArgs e)
        {
            LocTitleListService locTitleListService = new LocTitleListService();
            var strdata = GetGridInfo().ToArray();
            var result  = locTitleListService.DelUpdateTBTitl(strdata);

            if (result == 2)
            {
                var pageSize = PageEntity.TotalRowsPage;
                var nowPage  = PageEntity.NowPage;
                this.gridTitle.ItemsSource = locTitleListService.SelectLocalTitleList(pageSize.ToString(), ((nowPage - 1) * pageSize).ToString());//搜索开始
            }
        }
예제 #6
0
        /// <summary>
        /// 搜索开始
        /// </summary>
        /// <param name="url"></param>
        /// <param name="fileName"></param>
        public async void SearchStart(string url, string fileName, int type)
        {
            ViewEnum.searchEnum searchEmum = (ViewEnum.searchEnum)type;
            string        JsonContentPath  = ConfigurationManager.AppSettings["JsonContentPath"];//E:\CrawlerNproData\jsonFileSave\
            Elements      elements;
            string        strGetConetex = null;
            CrHttpRequest crHttpRequest = new CrHttpRequest();

            strGetConetex = await crHttpRequest.SentDataAsync(HttpMethod.Post, url);

            if (strGetConetex.Length > 0)
            {
                Regex regUrl   = new Regex(@"(/p/[0-9]{10})");
                Regex regTitle = new Regex(">(.*?)<");
                //this.txtContent.Text = strGetConetex;
                Document document       = NSoup.NSoupClient.Parse(strGetConetex);
                Elements elementTbNum   = document.GetElementsByClass("card_infoNum");
                Elements elementTbName  = document.GetElementsByClass("card_title_fname");
                Elements elementTbTitle = document.Select("li.j_thread_list").Select("li.clearfix");
                List <TitleContentEntity> listContentEntity = new List <TitleContentEntity>(); //内容 //有错误
                List <ResultEntity>       listResultEntity  = new List <ResultEntity>();       //所有内容
                try
                {
                    for (int i = 0; i < elementTbTitle.Count; i++)
                    {
                        var      elementss             = elementTbTitle[i];
                        Elements elementTbChildReplies = elementss.Select("span.threadlist_rep_num").Select("span.center_text");
                        Elements elementTbUrl          = elementss.Select("a.j_th_tit");
                        Debug.WriteLine(elementTbChildReplies + "/n/r" + elementTbUrl);
                        ResultEntity resultEntity = new ResultEntity();
                        if (elementTbUrl.ToString().Contains("href"))
                        {
                            var resultUrl   = regUrl.Match(elementTbUrl.ToString()).ToString();
                            var tempData    = regTitle.Match(elementTbUrl.ToString()).ToString();
                            var resultTitle = tempData.Substring(1, tempData.Length - 2);
                            resultEntity.Title      = resultTitle;
                            resultEntity.Url        = resultUrl;
                            resultEntity.CreateCode = resultUrl.Substring(3, resultUrl.Length - 3);//校验码
                        }
                        if (elementTbChildReplies.ToString().Contains("回复"))
                        {
                            Regex regReplies    = new Regex(@">(.*?)<");
                            var   tempData      = regReplies.Match(elementTbChildReplies.ToString()).ToString();
                            var   resultReplies = tempData.Substring(1, tempData.Length - 2);
                            resultEntity.Replies  = resultReplies;
                            resultEntity.Visiable = 1;//默认显示1
                        }
                        listResultEntity.Add(resultEntity);
                    }
                    CompareHelper       compareHelper          = new CompareHelper();
                    List <ResultEntity> filterListResultEntity = new List <ResultEntity>();//所有内容
                    var listkeyWorld = SelectKeyWorld();
                    if (listkeyWorld == null)
                    {
                        Debug.WriteLine("--------------获取关键字失败------------------");
                    }
                    foreach (var item in listResultEntity)
                    {
                        if (compareHelper.Compare(item.Title.Trim(), listkeyWorld, "KeyWorld"))
                        {
                            filterListResultEntity.Add(item);
                        }
                    }
                    IOFileHelper ioFileHelper = new IOFileHelper();
                    JsonHelper   jsonHelper   = new JsonHelper();
                    var          jsonData     = jsonHelper.SerializerJson(filterListResultEntity);
                    if (jsonData == null)
                    {
                        Debug.WriteLine("写入json之前 序列化出错");
                    }
                    /////写入json 文件之前 把实体转换为json字符串
                    //if (ioFileHelper.SaveJsonFile(JsonContentPath, "" + fileName + ".json", jsonData, false) == false)
                    //{
                    //    Debug.WriteLine("文件写入出错");
                    //}
                    switch (searchEmum)
                    {
                    case ViewEnum.searchEnum.WriteMysql:
                        TBTitleListService tBTitleListService = new TBTitleListService();
                        tBTitleListService.InsertTBTItleList(filterListResultEntity);    //添加到mysql数据库//
                        break;

                    case ViewEnum.searchEnum.WriteSQLite:
                        LocTitleListService locTitleListService = new LocTitleListService();
                        locTitleListService.InsertLocalTBTitleEx(filterListResultEntity);    //添加到sqlite,去重update
                        break;

                    case ViewEnum.searchEnum.WriteAll:
                        TBTitleListService tbTitleListService = new TBTitleListService();
                        tbTitleListService.InsertTBTItleList(filterListResultEntity);    //添加到mysql数据库
                        LocTitleListService loctitleListService = new LocTitleListService();
                        loctitleListService.InsertLocalTBTitle(filterListResultEntity);
                        break;
                    }
                }
                catch (Exception e)
                {
                    Debug.WriteLine("-------CrawlerNproView Error------" + e);
                }
                #region foreach
                //      //********************************************************************************//
                //    List<ContentEntity> listContentEntity = new List<ContentEntity>();//内容 有错误 应该是标题
                //    List<RepliesEneity> listRepliesEneity = new List<RepliesEneity>();//回复
                //    this.txtContent.Text = elementTbUrl.ToString();
                //    foreach (var itemPrplies in elementTbChildReplies)
                //    {
                //        RepliesEneity repliesEneity = new RepliesEneity();
                //        if (itemPrplies.ToString().Contains("回复"))
                //        {
                //            Regex regReplies = new Regex(@">(.*?)<");
                //            var tempData = regReplies.Match(itemPrplies.ToString()).ToString();
                //            var resultReplies = tempData.Substring(1, tempData.Length - 2);
                //            repliesEneity.Replies = resultReplies;
                //            listRepliesEneity.Add(repliesEneity);
                //        }
                //    }
                //    foreach (var itemUrl in elementTbUrl)
                //    {
                //        ContentEntity contentEntity = new ContentEntity();
                //        if (itemUrl.ToString().Contains("href"))
                //        {
                //            // string reg = @"<a> *href=([""'])?(?(.*?)[^'""]+)\1[^>]*>";
                //            Regex regUrl = new Regex(@"(/p/[0-9]{10})");
                //            //<a href="/p/5388999580" title="求大佬帮忙p个图" target="_blank" class="j_th_tit ">求大佬帮忙p个图</a>
                //            //Regex regUrl = new Regex(@"<a?* href=\/p\/^(.*?) */a> ");
                //            var resultUrl = regUrl.Match(itemUrl.ToString()).ToString();
                //            Regex regTitle = new Regex(">(.*?)<");
                //            var tempData = regTitle.Match(itemUrl.ToString()).ToString();
                //            var resultTitle = tempData.Substring(1, tempData.Length - 2);
                //            contentEntity.Title = resultTitle;
                //            contentEntity.Url = resultUrl;
                //            listContentEntity.Add(contentEntity);
                //        }
                //    }
                //    List<ResultEntity> listResultEntity = new List<ResultEntity>();//所有的
                //    //TBTitleListService tBTitleListService = new TBTitleListService();
                //    // tBTitleListService.InsertTBTItleList(MySqlConn.GetMysqlConn(), listTitleListEntity);添加到数据库
                //    //Elements elementTbChildTitle = docomentChild.Select("a.j_th_tit");
                //    //this.txtContent.Text = elementTbChildReplies.ToString()+"//**//"+"/n/r"+ elementTbChildTitle.ToString() +"//***//";
                #endregion
            }
        }
예제 #7
0
        /// <summary>
        /// 上一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnBackPage_Click(object sender, RoutedEventArgs e)
        {
            //判断第一页不为0页面66
            var nowPageSize   = Convert.ToInt32(lblNowPage.Content.ToString()); //当前页面页数
            var totalPage     = PageEntity.TotalPage;                           //3
            var rowsNum       = PageEntity.NowPage;                             //1234
            var totalNum      = PageEntity.TotalNum;                            //131
            var totalRowsPage = PageEntity.TotalRowsPage;                       //每页显50少条
            var remainPage    = PageEntity.RemainPage;                          //31
            LocTitleListService locTitleListService = new LocTitleListService();

            if (nowPageSize > totalPage)
            {
                PageEntity.NowPage         = nowPageSize - 1;
                this.lblNowPage.Content    = PageEntity.NowPage;
                this.gridTitle.ItemsSource = locTitleListService.SelectLocalTitleList(totalRowsPage.ToString(), (totalRowsPage * (PageEntity.NowPage - 1)).ToString());
            }
            else if (nowPageSize == totalPage)
            {
                PageEntity.NowPage         = nowPageSize - 1;
                this.lblNowPage.Content    = PageEntity.NowPage;
                this.gridTitle.ItemsSource = locTitleListService.SelectLocalTitleList(totalRowsPage.ToString(), (totalRowsPage * (PageEntity.NowPage - 1)).ToString());
            }
            else if (nowPageSize == 0)
            {
                PageEntity.NowPage      = 1;
                this.lblNowPage.Content = PageEntity.NowPage;
            }
            else if (nowPageSize < totalPage && nowPageSize >= 1)
            {
                PageEntity.NowPage         = nowPageSize - 1;
                this.lblNowPage.Content    = PageEntity.NowPage;
                this.gridTitle.ItemsSource = locTitleListService.SelectLocalTitleList(totalRowsPage.ToString(), (totalRowsPage * (PageEntity.NowPage - 1)).ToString());
            }


            //    ///***////
            //    //var nowPageSizeNum = nowPageSize * rowsNum;
            //    LocTitleListService locTitleListService = new LocTitleListService();
            ////if (nowPageSize==1)
            ////{
            ////    nowPageSize = 1;
            ////    PageEntity.NowPage = nowPageSize;
            ////    this.lblNowPage.Content = nowPageSize;
            ////}
            // if (nowPageSize==totalPage)//3==3  4
            // {
            //   // nowPageSize = (totalNum - remainPage) / totalRowsPage;//100/50
            //    PageEntity.NowPage = nowPageSize-1;//2
            //    this.lblNowPage.Content = PageEntity.NowPage;
            //}
            //else if (nowPageSize>totalPage)
            //{
            //    PageEntity.NowPage= nowPageSize - 1;
            //    this.lblNowPage.Content = PageEntity.NowPage;
            //}
            //else if (nowPageSize<totalPage)
            //{
            //    if (nowPageSize==1)
            //    {
            //        nowPageSize = 0;
            //        PageEntity.NowPage = nowPageSize;
            //        this.lblNowPage.Content = PageEntity.NowPage;
            //    }
            //    else
            //    {
            //        PageEntity.NowPage = nowPageSize-1;
            //        this.lblNowPage.Content = PageEntity.NowPage;
            //    }
            //}
            //this.gridTitle.ItemsSource = locTitleListService.SelectLocalTitleList(totalRowsPage.ToString(), (totalRowsPage * PageEntity.NowPage).ToString());
        }