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); } }