public override void Build(Site site, dynamic obj) { Dictionary<string, object> data = new Dictionary<string, object>(); if (Extras != null) { foreach (var extra in Extras) { data.Add(extra.Key, extra.Value); } } for (int i = From; i <= To; i += Interval) { site.AddStartRequest(new Request(string.Format(FormateString, i), 1, data) { PostBody = PostBody, Origin = Origin, Method = Method, Referer = Referer }); } }
public override void Build(Site site, dynamic obj) { BuildQueryString(); int interval = 0; StringBuilder formatBuilder = new StringBuilder(); var datas = PrepareDatas(); foreach (var data in datas) { if (interval == Interval) { foreach (var formate in FormateStrings) { string tmpUrl = string.Format(formate, formatBuilder.ToString(0, formatBuilder.Length - (string.IsNullOrEmpty(RowSeparator) ? 0 : RowSeparator.Length))); site.AddStartRequest(new Request(tmpUrl, 0, null) { Method = Method, Origin = Origin, Referer = Referer }); } interval = 0; formatBuilder = new StringBuilder(); } Dictionary<string, object> tmp = data; StringBuilder argumentsBuilder = new StringBuilder(); foreach (var column in Columns) { string value = tmp[column.Name]?.ToString(); value = column.Formatters.Aggregate(value, (current, formatter) => formatter.Formate(current)); argumentsBuilder.Append(value).Append(ColumnSeparator); } formatBuilder.Append(argumentsBuilder.ToString(0, argumentsBuilder.Length - (string.IsNullOrEmpty(ColumnSeparator) ? 0 : ColumnSeparator.Length))).Append(RowSeparator); interval++; if (interval != 0) { foreach (var formate in FormateStrings) { string tmpUrl = string.Format(formate, formatBuilder.ToString(0, formatBuilder.Length - 1)); site.AddStartRequest(new Request(tmpUrl, 0, null) { Method = Method, Origin = Origin, Referer = Referer }); } } } }
public override void Build(Site site, dynamic obj) { foreach (JObject jobject in obj) { Dictionary<string, object> tmp = obj; if (Extras != null) { foreach (var extra in Extras) { tmp.Add(extra.Key, extra.Value); } } foreach (var node in jobject.Children()) { tmp.Add("", node.ToString()); } List<string> arguments = new List<string>(); foreach (var column in Columns) { string value = tmp[column.Name]?.ToString(); value = column.Formatters.Aggregate(value, (current, formatter) => formatter.Formate(current)); arguments.Add(value); } foreach (var formate in FormateStrings) { string tmpUrl = string.Format(formate, arguments.Cast<object>().ToArray()); site.AddStartRequest(new Request(tmpUrl, 0, tmp) { Method = Method, Origin = Origin, PostBody = GetPostBody(PostBody, tmp), Referer = Referer }); } } }
public override void Build(Site site, dynamic obj) { BuildQueryString(); var datas = PrepareDatas(); foreach (var data in datas) { for (int i = From; i <= To; i += Interval) { var arguments = PrepareArguments(data); arguments.Add(i.ToString()); for (int j = PostFrom; j <= PostTo; j += PostInterval) { foreach (var formate in FormateStrings) { string tmpUrl = string.Format(formate, arguments.Cast<object>().ToArray()); site.AddStartRequest(new Request(tmpUrl, 0, data) { Method = Method, Origin = Origin, PostBody = GetPostBody(PostBody, data, j), Referer = Referer }); } } } } }