Example #1
0
        public virtual void DoRefresh(long id)
        {
            SpiderArticle post = SpiderArticle.findById(id);

            StringBuilder log     = new StringBuilder();
            String        content = new PagedDetailSpider().GetContent(post.Url, post.SpiderTemplate, log);

            if (strUtil.HasText(content))
            {
                post.Body = content;
                post.update("Body");
                echoJsonMsg("刷新成功", true, "");
            }
            else
            {
                errors.Add(log.ToString().Replace(Environment.NewLine, "").Trim());
                echoError();
            }
        }
        public void GetDetail()
        {
            String newsUrl = ctx.Post("detailUrl");

            SpiderTemplate s = new SpiderTemplate();

            //String detailBeginCode = ctx.PostHtmlAll( "detailBeginCode" );
            //String detailEndCode = ctx.PostHtmlAll( "detailEndCode" );
            //String DetailPattern = detailBeginCode + "(.+?)" + detailEndCode;

            String DetailPattern = ctx.PostHtmlAll("DetailPattern");

            s.DetailPattern = DetailPattern;

            logger.Info("DetailPattern=" + s.DetailPattern);

            String detailEncoding = ctx.Post("detailEncoding");

            s.DetailEncoding = detailEncoding;

            s.IsSavePic = 0;

            StringBuilder log = new StringBuilder();

            string newsBody = new PagedDetailSpider().GetContent(newsUrl, s, log);

            String strLog = log.ToString();

            if (strLog.IndexOf("error=") >= 0)
            {
                StringBuilder sblog = new StringBuilder();
                sblog.AppendLine("detailUrl=" + newsUrl);
                sblog.AppendLine("detailPattern=" + s.DetailPattern);
                sblog.Append(log);
                echoText(sblog.ToString());
            }
            else
            {
                echoText(newsBody);
            }
        }