private void CJTXNewHTMLhreper() { try { string url = ""; this.Dispatcher.Invoke(new Action(() => { url = FTXtexturl.Text; })); string ALLhtml = BXGetHTMLstr(url); using (var ctx = new oaEntities()) { //获取当前时间 DateTime DBtime = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Day.ToString()); var QZQtime = ctx.T_ChuZhuInfo.Count(); if (QZQtime <= 0) { } MaxTime = QZQtime <= 0 ? new DateTime(2016, 12, 12) : Convert.ToDateTime(ctx.T_ChuZhuInfo.DefaultIfEmpty().Max(x => x.FbTime)); #region 开始读取网站列表信息 IHtmlDocument document = new JumonyParser().Parse(ALLhtml); IEnumerable<IHtmlElement> result = document.Find(".hpic"); foreach (var item in result) { #region MyRegion Class1 _class = new Class1(); _class.href = item.Exists(".pic_box") ? item.FindFirst(".pic_box").Attribute("href").Value() : string.Empty; _class.TextName = item.Exists(".pic_box") ? item.FindFirst(".pic_box").Attribute("title").Value() : string.Empty; if (QZQtime > 0) { var listc = ctx.T_ChuZhuInfo.Where(u => u.ChuZhuName == _class.TextName && u.ChuZhuHref == _class.href); if (listc.Count() >= 1) { this.Dispatcher.Invoke(new Action(() => { ltextd.Text = "重复信息退出更新等待下一次更新———" + _class.TextName + "———" + DateTime.Now.ToString(); })); CJTXWhileBOOL1 = false; return; } } _class.Address = MainWindow.GetN_value(item, ".addr"); _class.SumMoney = MainWindow.GetN_value(item, ".pr"); _class.Laiyuan = "cjfl"; #region 进入子页面 string html = GetHTMLstr(_class.href); IHtmlDocument document_1 = new JumonyParser().Parse(html); IEnumerable<IHtmlElement> result1 = document_1.Find(".viewad_box>.viewad-meta > li"); IEnumerable<IHtmlElement> result2 = document_1.Find(".view_box>p"); IEnumerable<IHtmlElement> result3 = document_1.Find(".viewad-actions"); IEnumerable<IHtmlElement> image = document_1.Find(".container>.pic_box"); int i = 0; foreach (var tm in result1) { if (i == 2) { _class.Mianji = MainWindow.GetN_value(tm, "span"); } if (i == 4) { _class.PersonName = MainWindow.GetN_value(tm, "span"); } if (i == 5) { _class.photo = MainWindow.GetN_value(tm, "span"); } i++; } i = 0; foreach (var ts in result2) { if (i == 1) { _class.bak = ts.InnerHtml(); } i++; } string imagerui = ""; foreach (var tm in image) { imagerui = imagerui + "---" + tm.FindFirst("img ").Attribute("src").Value(); } _class.Image_str = imagerui; foreach (var ts in result3) { _class.FbTime = Convert.ToDateTime(ts.FindFirst("span").InnerHtml()); } #endregion #endregion #region 写入系统 if (item.Exists("a")) { T_ChuZhuInfo tqzq = new T_ChuZhuInfo(); tqzq.ChuZhuName = _class.TextName; tqzq.Addess = _class.Address; tqzq.Money = Convert.ToDecimal(_class.SumMoney); tqzq.LaiYuan = _class.Laiyuan; tqzq.Images = _class.Image_str; tqzq.FbTime = _class.FbTime; tqzq.PingMi = Convert.ToDecimal(_class.Mianji.Replace("㎡", "")); tqzq.LianXiPerson = _class.PersonName; tqzq.LianXiPhoto = _class.photo; tqzq.Bak = _class.bak; tqzq.ChuZhuHref = _class.href; this.Dispatcher.Invoke(new Action(() => { tqzq.CityID = Convert.ToInt32(ftxCombx.SelectedValue); })); ctx.T_ChuZhuInfo.Add(tqzq); // L_Class.Add(_class); r++; this.Dispatcher.Invoke(new Action(() => { ADDC.Text = r.ToString(); })); ctx.SaveChanges(); } #endregion this.Dispatcher.Invoke(new Action(() => { ltextd.Text = "更新一条数据————" + _class.TextName + "———" + DateTime.Now.ToString(); })); } #endregion } } catch (Exception ex) { this.Dispatcher.Invoke(new Action(() => { ltextd.Text = DateTime.Now.ToString() + ex.ToString(); })); } WhileBOOL1 = false; }
private void NewHTMLhreper() { try { string url = ""; this.Dispatcher.Invoke(new Action(() => { url = QiuZhuURL.Text; })); string ALLhtml = GetHTMLstr(url); using (var ctx = new oaEntities()) { DateTime DBtime = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Day.ToString()); var QZQtime = ctx.T_QiuZhuQiuGou.Count(); if (QZQtime <= 0) { } MaxTime =QZQtime<=0? new DateTime(2016, 12, 12): ctx.T_QiuZhuQiuGou.DefaultIfEmpty().Max(x => x.FBtime); #region 开始读取网站列表信息 IHtmlDocument document = new JumonyParser().Parse(ALLhtml); IEnumerable<IHtmlElement> result = document.Find(".tblist"); IEnumerable<IHtmlElement> t = result.Find("tr"); //Dictionary<string, string> dir = new Dictionary<string, string>(); foreach (var item in t) { #region MyRegion Class1 _class = new Class1(); _class.href = item.Exists(".t > a") ? item.FindFirst(".t>a").Attribute("href").Value() : string.Empty; _class.TextName = MainWindow.GetN_value(item, ".t"); _class.Quyu = MainWindow.GetN_value(item, ".c_58"); _class.PingMoney = MainWindow.GetN_value(item, ".pri"); _class.PersonName = MainWindow.GetN_value(item, ".jjrname-outer"); _class.Laiyuan = "58"; string Timestr; IEnumerable<IHtmlElement> adds = item.Find(".tc"); int abc_i = 0; foreach (var abc in adds) { if (abc_i == 1) { _class.FwHuXing = abc.InnerText(); } else if (abc_i == 2) { Timestr = abc.InnerText(); } abc_i++; } #region 进入子页面 string html = GetHTMLstr(_class.href); IHtmlDocument document_1 = new JumonyParser().Parse(html); IEnumerable<IHtmlElement> result1 = document_1.Find(".user"); IEnumerable<IHtmlElement> restime = document_1.Find(".other"); foreach (var tm in restime) { var tttm = tm.InnerText(); _class.time = Convert.ToDateTime(tttm.Substring(tttm.IndexOf(":") + 1).Substring(0, tttm.Substring(tttm.IndexOf(":") + 1).IndexOf("浏览")).Trim()); } if (QZQtime > 0) { var listc = ctx.T_QiuZhuQiuGou.Where(u => u.Hname == _class.TextName && u.FBtime==_class.time); if (listc.Count() >= 1) { this.Dispatcher.Invoke(new Action(() => { LISTbox.Text = "重复信息退出更新等待下一次更新———" + _class.TextName + "———" + DateTime.Now.ToString(); })); WhileBOOL1 = false; return; } } foreach (var ts in result1) { _class.PersonName = ts.FindLast(".tx").InnerText(); string strimage = ts.FindFirst(".phone").InnerText(); strimage = strimage.Substring(strimage.IndexOf("'")+1); _class.Image_str = strimage.Substring(0, strimage.IndexOf("'")); _class.bak = ts.FindFirst(".belong").InnerText(); } #endregion #endregion #region 写入系统 T_QiuZhuQiuGou tqzq = new T_QiuZhuQiuGou(); tqzq.Hname = _class.TextName; tqzq.QuYu = _class.Quyu; tqzq.JuShi = _class.FwHuXing; tqzq.Money = _class.PingMoney; tqzq.FBtime = _class.time; tqzq.Hperson = _class.PersonName; tqzq.Photo = _class.Image_str; tqzq.GuiShuDi = _class.bak; this.Dispatcher.Invoke(new Action(() => { tqzq.CityID = Convert.ToInt32(QiuZhuCombx1.SelectedValue); })); ctx.T_QiuZhuQiuGou.Add(tqzq); #endregion // L_Class.Add(_class); r++; this.Dispatcher.Invoke(new Action(() => { SUMcount.Text = r.ToString(); })); ctx.SaveChanges(); this.Dispatcher.Invoke(new Action(() => { LISTbox.Text = "更新一条数据————"+ _class.TextName+ "———" + DateTime.Now.ToString(); })); } #endregion } } catch (Exception ex) { this.Dispatcher.Invoke(new Action(() => { LISTbox.Text = DateTime.Now.ToString() + ex.ToString(); })); } WhileBOOL1 = false; }