Esempio n. 1
0
        public void Ready(RuleItem option)
        {
            tag = option.Param1.Trim();
            var v = option.Param2.Trim().ToUpper();

            tagFunc = v != "0" && v != "F" && v != "N" && v != "FALSE" ? "html" : "text";
            JQueryRule.SplitTag(ref tag, ref tagFunc);
        }
Esempio n. 2
0
        public async Task RenderAsync(ISpiderContainer container)
        {
            var context = BrowsingContext.New(Configuration.Default.WithDefaultLoader());

            foreach (var item in container.Data)
            {
                var doc = await context.OpenAsync(req => req.Content(item.ToString()));

                var node = doc.QuerySelector(tag);
                if (node == null)
                {
                    continue;
                }
                var val = JQueryRule.FormatNode(node, tagFunc);
                if (string.IsNullOrWhiteSpace(val))
                {
                    continue;
                }
                container.SetAttribute(name, val);
            }
            await container.NextAsync();
        }
Esempio n. 3
0
 public void Ready(RuleItem option)
 {
     tag  = option.Param1.Trim();
     name = tagFunc = option.Param2.Trim();
     JQueryRule.SplitTag(ref tag, ref tagFunc);
 }