/// <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; }
/// <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 }
/// <summary> /// 读取Sqlite获取贴吧标题列表 /// </summary> /// <returns></returns> public async Task <bool> GetTitleListBySqlite() { LocTitleListService locContentListService = new LocTitleListService(); locContentListService.SelectLocalTitleList("50", "0"); return(false); }
/// <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"); }
/// <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());//搜索开始 } }
/// <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 } }
/// <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()); }