Ejemplo n.º 1
0
        public IActionResult RunJobs()
        {
            DoubanHouseCrawler.CaptureHouseInfoFromConfig();
            HouseSourceInfo.RefreshHouseSourceInfo();
            PinPaiGongYuHouseCrawler.CapturPinPaiHouseInfo();

            //Task.Factory.StartNew(() =>
            //{
            //    try
            //    {

            //        PeopleRentingCrawler.CapturHouseInfo();
            //        DoubanHouseCrawler.CaptureHouseInfoFromConfig();
            //        DoubanHouseCrawler.AnalyzeDoubanHouseContentAll();
            //        HouseSourceInfo.RefreshHouseSourceInfo();
            //    }
            //    catch (Exception ex)
            //    {
            //        LogHelper.Error("RunJobs", ex);
            //    }

            //});

            return(View());
        }
Ejemplo n.º 2
0
        public IActionResult RunJobs()
        {
            Task.Factory.StartNew(() =>
            {
                try
                {
                    DoubanHouseCrawler.AnalyzeDoubanHouseContent();

                    //Job要执行的逻辑代码
                    PinPaiGongYuHouseCrawler.CapturPinPaiHouseInfo();

                    PeopleRentingCrawler.CapturHouseInfo();

                    DoubanHouseCrawler.CaptureHouseInfoFromConfig();

                    HouseSourceInfo.RefreshHouseSourceInfo();
                }
                catch (Exception ex)
                {
                    LogHelper.Error("RunJobs", ex);
                }
            });

            return(View());
        }
Ejemplo n.º 3
0
 public HomeController(TodayHouseDashboardJob houseDashboardJob,
                       HouseDapper houseDapper,
                       HouseDashboardService houseDashboardService,
                       PinPaiGongYuHouseCrawler pinpai,
                       PeopleRentingCrawler people,
                       DoubanHouseCrawler douban,
                       CCBHouesCrawler ccbHouse,
                       ZuberHouseCrawler zuber,
                       MoGuHouseCrawler mogu,
                       HKSpaciousCrawler hkSpacious,
                       BaiXingHouseCrawler baixing,
                       SyncHousesToESJob syncHousesToESJob,
                       ElasticsearchService elasticsearchService)
 {
     this.houseDashboardJob     = houseDashboardJob;
     this.houseDapper           = houseDapper;
     this.houseDashboardService = houseDashboardService;
     this.pinpai               = pinpai;
     this.people               = people;
     this.douban               = douban;
     this.ccbHouse             = ccbHouse;
     this.zuber                = zuber;
     this.mogu                 = mogu;
     this.hkSpacious           = hkSpacious;
     this.baixing              = baixing;
     this.syncHousesToESJob    = syncHousesToESJob;
     this.elasticsearchService = elasticsearchService;
 }
Ejemplo n.º 4
0
 public IActionResult RunJobs()
 {
     DoubanHouseCrawler.CaptureHouseInfo();
     PinPaiGongYuHouseCrawler.CapturePinPaiHouseInfo();
     PeopleRentingCrawler.CaptureHouseInfo();
     CCBHouesCrawler.CaptureHouseInfo();
     return(View());
 }
Ejemplo n.º 5
0
        private int GetListSum(int costFrom, int costTo, string cnName)
        {
            var url        = $"http://{cnName}.58.com/pinpaigongyu/pn/{1}/?minprice={costFrom}_{costTo}";
            var htmlResult = PinPaiGongYuHouseCrawler.GetHouseHTML(url);
            var dom        = new HtmlParser().Parse(htmlResult);
            var countNode  = dom.GetElementsByClassName("listsum").FirstOrDefault()?.QuerySelector("em");

            return(Convert.ToInt32((countNode?.TextContent) ?? "0"));
        }
Ejemplo n.º 6
0
 public IActionResult RunJobs()
 {
     DoubanHouseCrawler.Run();
     PinPaiGongYuHouseCrawler.Run();
     PeopleRentingCrawler.Run();
     CCBHouesCrawler.Run();
     ZuberHouseCrawler.Run();
     MoGuHouseCrawler.Run();
     return(View());
 }
Ejemplo n.º 7
0
 public PingPaiPeopleJob(PinPaiGongYuHouseCrawler pinpai,
                         PeopleRentingCrawler people,
                         DoubanHouseCrawler douban,
                         CCBHouesCrawler ccbHouse,
                         ZuberHouseCrawler zuber,
                         MoGuHouseCrawler mogu)
 {
     this.pinpai   = pinpai;
     this.people   = people;
     this.douban   = douban;
     this.ccbHouse = ccbHouse;
     this.zuber    = zuber;
     this.mogu     = mogu;
 }
Ejemplo n.º 8
0
        private IEnumerable <HouseInfo> GetRoomList(int costFrom, int costTo, string cnName, int index)
        {
            var url        = $"http://{cnName}.58.com/pinpaigongyu/pn/{index}/?minprice={costFrom}_{costTo}";
            var htmlResult = PinPaiGongYuHouseCrawler.GetHouseHTML(url);
            var page       = new HtmlParser().Parse(htmlResult);

            return(page.QuerySelectorAll("li").Where(element => element.HasAttribute("logr")).Select(element =>
            {
                var houseTitle = element.QuerySelector("h2").TextContent;
                var houseInfoList = houseTitle.Split(' ');
                return new HouseInfo
                {
                    HouseTitle = houseTitle,
                    HouseURL = $"http://{cnName}.58.com" + element.QuerySelector("a").GetAttribute("href"),
                    Money = element.QuerySelector("b").TextContent,
                    HouseLocation = new[] { "公寓", "青年社区" }.All(s => houseInfoList.Contains(s)) ? houseInfoList[0] : houseInfoList[1]
                };
            }));
        }
Ejemplo n.º 9
0
 public HomeController(HouseDashboardJob houseDashboardJob,
                       HouseDapper houseDapper,
                       HouseDashboardService houseDashboardService,
                       PinPaiGongYuHouseCrawler pinpai,
                       PeopleRentingCrawler people,
                       DoubanHouseCrawler douban,
                       CCBHouesCrawler ccbHouse,
                       ZuberHouseCrawler zuber,
                       MoGuHouseCrawler mogu,
                       HKSpaciousCrawler hkSpacious)
 {
     this.houseDashboardJob     = houseDashboardJob;
     this.houseDapper           = houseDapper;
     this.houseDashboardService = houseDashboardService;
     this.pinpai     = pinpai;
     this.people     = people;
     this.douban     = douban;
     this.ccbHouse   = ccbHouse;
     this.zuber      = zuber;
     this.mogu       = mogu;
     this.hkSpacious = hkSpacious;
 }
Ejemplo n.º 10
0
 public JobsController(TodayHouseDashboardJob houseDashboardJob,
                       HouseDapper houseDapper,
                       HouseDashboardService houseDashboardService,
                       PinPaiGongYuHouseCrawler pinpai,
                       PeopleRentingCrawler people,
                       DoubanHouseCrawler douban,
                       CCBHouesCrawler ccbHouse,
                       ZuberHouseCrawler zuber,
                       MoGuHouseCrawler mogu,
                       HKSpaciousCrawler hkSpacious,
                       BaiXingHouseCrawler baixing,
                       ChengduZufangCrawler chengdu,
                       SyncHousesToESJob syncHousesToESJob,
                       ElasticsearchService elasticsearchService,
                       RefreshHouseCacheJob refreshHouseCacheJob,
                       RefreshHouseSourceJob refreshHouseSourceJob,
                       BeikeHouseCrawler beike)
 {
     this.houseDashboardJob     = houseDashboardJob;
     this.houseDapper           = houseDapper;
     this.houseDashboardService = houseDashboardService;
     this.pinpai                = pinpai;
     this.people                = people;
     this.douban                = douban;
     this.ccbHouse              = ccbHouse;
     this.zuber                 = zuber;
     this.mogu                  = mogu;
     this.hkSpacious            = hkSpacious;
     this.baixing               = baixing;
     this.syncHousesToESJob     = syncHousesToESJob;
     this.elasticsearchService  = elasticsearchService;
     this.refreshHouseCacheJob  = refreshHouseCacheJob;
     this.refreshHouseSourceJob = refreshHouseSourceJob;
     this.beike                 = beike;
     this.chengdu               = chengdu;
 }