Example #1
0
        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;
        }
Example #2
0
        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;
        }