Exemplo n.º 1
0
        public virtual void execute(bool isUpdate)
        {
            HtmlDocument html = HAPUtil.D2PassRequest(startPage, webCharset);

            foreach (var e in html.DocumentNode.CssSelect(".movie-panel"))
            {
                Maker mak = getMaker(getMakerNode(e));
                if (mak.enable)
                {
                    Movie mv = new Movie();
                    mv.mvid      = getMvid(e);
                    mv.title     = getTitle(getTitleNode(e));
                    mv.thumbnail = getThumbnail(getThumbnailNode(e));
                    mv.rating    = getRating(getRatingNode(e));
                    var            xpName = getActressName(getActressNode(e));
                    List <Actress> actrs  = new List <Actress>();
                    ActressMovie   actmv  = new ActressMovie();
                    foreach (var xpA in xpName)
                    {
                        Actress actr = new Actress();
                        actr.name = xpA;
                        //actr = dao.QueryOrInsert(actr);
                        actrs.Add(actr);
                    }
                }
            }
        }
Exemplo n.º 2
0
        internal ActressMovie insertOrUpdate(ActressMovie amv)
        {
            ActressMovie result;
            var          q = (from actressMovie in dataContext.ActressMovie
                              where actressMovie.movieId == amv.movieId &&
                              actressMovie.actressId == amv.actressId
                              select actressMovie).Take(1);

            if (q.Count() == 0)
            {
                dataContext.ActressMovie.InsertOnSubmit(amv);
                result = amv;
            }
            else
            {
                result = q.First();
                result.actressOrder = amv.actressOrder;
            }
            dataContext.SubmitChanges();
            return(result);
        }
Exemplo n.º 3
0
        public override void execute(bool isUpdate)
        {
            HtmlDocument html = HAPUtil.Load(startPage, webCharset);
            //HtmlDocument html = HAPUtil.Load(startPage, webCharset, true);
            ArrayList selectors = new ArrayList(new string[] { "body table table", "body table table table" });

            foreach (var s in selectors)
            {
                try {
                    foreach (var e in html.DocumentNode.CssSelect((string)s))
                    {
                        var mvid = "";
                        foreach (var a in e.CssSelect("a"))
                        {
                            if (!a.Attributes.Contains("href"))
                            {
                                continue;
                            }
                            var href = a.Attributes["href"].Value;
                            mvid = RegexUtil.MatcheGroups("k[0-9]{4}", href, 0);
                            Movie mv = dao.findMovieByMvid(mvid);
                            if (mvid != "" && (mv == null || isUpdate))
                            {
                                if (mv == null)
                                {
                                    mv = new Movie();
                                }
                                List <Actress> actrs  = new List <Actress>();
                                Series         series = getSeries(e);
                                Label          label  = getLabel(getLabelNode(e));
                                mv.mvid        = mvid;
                                mv.pageHref    = getPageHref(href);
                                mv.publishDate = getPublishDate(getPublishDateNode(e));
                                mv.releaseDate = mv.publishDate;
                                mv.thumbnail   = getThumbnail(getThumbnailNode(e));
                                mv.coverHref   = getCoverHref(mv);
                                mv.title       = getTitle(getTitleNode(e));

                                var          xpName = getActressName(getActressNode(e));
                                ActressMovie actmv  = new ActressMovie();
                                foreach (var xpA in xpName)
                                {
                                    Actress actr = new Actress();
                                    actr.name = xpA;
                                    actr      = dao.QueryOrInsert(actr);
                                    actrs.Add(actr);
                                }
                                mv.Maker  = maker;
                                mv.Series = series;
                                mv.Label  = label;
                                mv        = dao.QueryOrInsert(mv);
                                var order = 0;
                                foreach (var actr in actrs)
                                {
                                    ActressMovie amv = new ActressMovie();
                                    amv.actressId    = actr.id;
                                    amv.actressOrder = order++;
                                    amv.movieId      = mv.id;
                                    dao.insertOrUpdate(amv);
                                }
                            }
                        }
                    }
                } catch (Exception) {
                    continue;
                }
            }
        }