public ArticleHandler(RuleConfig ruleConfig) { this._ruleConfig = ruleConfig; this._fileOperate = new FileOperate(); this._articleBuilder = new ArticleBuilder(); this._sqlOperate = new SqlOperate(); this._currentRule = new JsonArticleRule(ruleConfig.Rules); }
private ArticleModel CreateModel(string url, IArticleRule rule) { ArticleModel artModel = new ArticleModel(); artModel.OriginUrl = url; artModel.Title = this.GetInfo(rule.GetTitleRule()); artModel.Keys = this.GetInfo(rule.GetKeysRule()); artModel.Author = this.GetInfo(rule.GetAuthorRule()); artModel.Summary = this.GetInfo(rule.GetSummaryRule()); artModel.ImageUrls = this.GetInfos(rule.GetImageUrlsRule()); artModel.Content = this.GetInfo(rule.GetContentRule()); artModel.PublishDate = this.GetInfo(rule.GetPublishDateRule()); return(artModel); }
public ArticleModel BuildModel(string url, IArticleRule rule) { if (string.IsNullOrEmpty(url) || rule == null) { return(null); } this._contentExtract.ExecuteUrl(url); if (!string.IsNullOrEmpty(this._contentExtract.GetExceptionMessage())) { throw new Exception(this._contentExtract.GetExceptionMessage()); } return(this.CreateModel(url, rule)); }