Esempio n. 1
0
        public override List <SpiderProxyUriEntity> GetProxyEntities <T>(T reader)
        {
            var htmlDocument = HtmlTool.LoadFromTextReader(reader);

            if (htmlDocument == null)
            {
                return(null);
            }
            return(GetProxyEntities(htmlDocument));
        }
Esempio n. 2
0
        public override List <SpiderProxyUriEntity> GetProxyEntities(string response)
        {
            var htmlDocument = HtmlTool.LoadFromText(response);

            if (htmlDocument == null)
            {
                return(null);
            }
            return(GetProxyEntities(htmlDocument));
        }
 public VPOSClient(string apiUrl, string apiResultKey, string startKey, string shopId, string redirectUrl)
 {
     _encoder      = new MacEncoder();
     _restClient   = new RestClient(15);
     _htmlTool     = new HtmlTool();
     _urlAPI       = apiUrl;
     _apiResultKey = apiResultKey;
     _startKey     = startKey;
     _shopId       = shopId;
     _urlRedirect  = redirectUrl;
 }
Esempio n. 4
0
 public void GetImageFromUrl(string pUrl)
 {
     HtmlTool ahHtmlTool = new HtmlTool();
     string url = pUrl;
     string result = "";
     var listImageLink = ahHtmlTool.FetchLinksFromSource(url);
     DataTable dt = new DataTable();
     dt.Columns.Add("link");
     foreach (var alink in listImageLink)
     {
         dt.Rows.Add(alink);
     }
     dtlListImage.DataSource = dt;
     dtlListImage.DataBind();
 }
Esempio n. 5
0
        private void OnExecuteSearchCommand()
        {
            SearchResults.Clear();
            Metas.Clear();
            Task.Factory.StartNew(() =>
            {
                var result = new HtmlWeb().Load(string.Format(Url, QueryString));
                //var nodes = result.DocumentNode.SelectNodes("//html//body//div[@class='g']").Select(r => r.InnerHtml).Take(10);
                //SearchResults.Clear();
                //foreach (var node in nodes)
                //{
                //	SearchResults.Add(node);
                //}

                // extract links

                var searchResultCount = 0;
                foreach (var link in result.DocumentNode.SelectNodes("//a[@href]"))
                {
                    var hrefValue = link.GetAttributeValue("href", string.Empty);
                    if (hrefValue.ToUpper().Contains("GOOGLE") || !hrefValue.Contains("/url?q=") ||
                        !hrefValue.ToUpper().Contains("HTTP://")) continue;
                    var index = hrefValue.IndexOf("&", StringComparison.Ordinal);
                    if (index <= 0) continue;
                    hrefValue = hrefValue.Substring(0, index);
                    var searchResultUrl = hrefValue.Replace("/url?q=", "");
                    if (searchResultCount == 20) continue;
                    searchResultCount++;
                   _dispatcher.Invoke(() =>
                    {
                        SearchResults.Add(searchResultUrl);
                    }, DispatcherPriority.Normal);
                }

                Parallel.ForEach(SearchResults, (c) =>
                {
                    var meta = LoadMeta(c);
                    HtmlTool.FetchOg(c);

                    _dispatcher.Invoke(() =>
                    {
                        Metas.Add(meta);

                    });
                });
            });
        }
Esempio n. 6
0
        public void getImageFromUrl(string pUrl)
        {
            HtmlTool ahHtmlTool = new HtmlTool();
            string   url = pUrl;
            string   result = "";
            var      listImageLink = ahHtmlTool.FetchLinksFromSource(url);
            int      i = 0, j = 0;

            foreach (var alink in listImageLink)
            {
                j++;
                i++;
                if (j == 1)
                {
                    result += "<div class='box1'>";
                }
                else if (j == 5)
                {
                    result += "<div class='clear'></div>";
                    result += "</div>";
                    j       = 0;
                }
                else
                {
                    result += "<div class='col_1_of_single1 span_1_of_single1'>";
                    result += "<div class='view1 view-fifth1'>";
                    result += "<div class='top_box'>";
                    result += "<div class='m_2'>";
                    result += "<input class='second' name='option2' type='checkbox' id='" + i + "' value='" + alink +
                              "' />";
                    result += "<label class='label2' for='" + i + "'>Choose image</label>";
                    result += "</div>";
                    result += " <div class='grid_img'><div class='css3'>";
                    result += "<img src='" + alink + "' alt='' /><br /><input type='text' value='" + alink + "' />";
                    result += " </div> </div> </div> </div> </div>";
                }
            }
            if (listImageLink.Count % 4 != 0)
            {
                result += "<div class='clear'></div>";
                result += "</div>";
            }
            lblResult.Text = result;
        }
Esempio n. 7
0
        public void GetImageFromUrl(string pUrl)
        {
            HtmlTool ahHtmlTool = new HtmlTool();

            if (pUrl.Contains("www.cars.com"))
            {
                pUrl = pUrl.Replace("overview", "photo");
            }
            string    url           = pUrl;
            string    result        = "";
            var       listImageLink = ahHtmlTool.FetchLinksFromSource(url);
            DataTable dt            = new DataTable();

            dt.Columns.Add("link");
            foreach (var alink in listImageLink)
            {
                dt.Rows.Add(alink);
            }
            dtlListImage.DataSource = dt;
            dtlListImage.DataBind();
        }
Esempio n. 8
0
        /// <summary>
        /// 初始化autoMapper 映射
        /// </summary>
        public static void MapperConfigIntit()
        {
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <User, UserDto>().ForMember(dto => dto.CreateDate, opt => opt.MapFrom(src => src.CreateDate.ToString(DateTimeFormString)));

                cfg.CreateMap <Category, CategoryDto>();

                cfg.CreateMap <Blog, BlogDto>().ForMember(dto => dto.CreateDate, opt => opt.MapFrom(src => src.CreateDate.ToString(DateTimeFormString)))
                .ForMember(dto => dto.BodyAbs, opt => opt.MapFrom(src => HtmlTool.ReplaceHtmlTag(src.Body, 200)));
                cfg.CreateMap <BlogComment, BlogCommentDto>().ForMember(dto => dto.PostDate, opt => opt.MapFrom(src => src.PostDate.ToString(DateTimeFormString)));

                cfg.CreateMap <News, NewsDto>().ForMember(dto => dto.CreateDate, opt => opt.MapFrom(src => src.CreateDate.ToString(DateTimeFormString)))
                .ForMember(dto => dto.BodyAbs, opt => opt.MapFrom(src => HtmlTool.ReplaceHtmlTag(src.Body, 200)));
                cfg.CreateMap <NewsComment, NewsCommentDto>().ForMember(dto => dto.PostDate, opt => opt.MapFrom(src => src.PostDate.ToString(DateTimeFormString)));

                cfg.CreateMap <OpenSource, OpenSourceDto>().ForMember(dto => dto.CreateDate, opt => opt.MapFrom(src => src.CreateDate.ToString(DateTimeFormString)));

                cfg.CreateMap <Note, NoteDto>().ForMember(dto => dto.CreateDate, opt => opt.MapFrom(src => src.CreateDate.ToString(DateTimeFormString)));
            });
        }
Esempio n. 9
0
        public ActionResult Index(int pageindex = 1)
        {
            //获取控制器名称
            ViewBag.controllername = RouteData.Values["controller"].ToString().ToLower();

            int pagesize = 6;
            //获取发布博文信息
            var blogArticleList = BlogArticleService.QueryWhere(a => true).OrderByDescending(a => a.create_time).ToPagedList(pageindex, pagesize);

            foreach (var item in blogArticleList)
            {
                if (!string.IsNullOrEmpty(item.content))
                {
                    item.content = HtmlTool.ReplaceHtmlTag(item.content);
                    if (item.content.Length > 200)
                    {
                        item.content = item.content.Substring(0, 200);
                    }
                }
            }
            //获取轮播广告新
            ViewBag.adList = AdvertisementServices.QueryOrderBy(a => true, a => a.create_time, false).ToPagedList(1, 3);
            //发布时间排序
            ViewBag.blogtimelist = BlogArticleService.QueryOrderBy(c => true, c => c.create_time, false);
            //评论排序
            ViewBag.blogtrafficlist = BlogArticleService.QueryOrderBy(c => true, c => c.traffic, false);

            //留言排序
            string sql = @"select a.*,b.title from (select blog_id,count(1) as counts  from guest_book group by blog_id) as a
inner join blog_article as b
on
b.id=a.blog_id order by counts desc";

            ViewBag.blogguestbooklist = GuestbookService.RunProc <TopgbViewModel>(sql);


            return(View(blogArticleList));
        }
Esempio n. 10
0
        /// <summary>
        /// 获取视图博客详情信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public BlogViewModel getBlogDetails(string id)
        {
            BlogArticle blogArticle = dal.QueryWhere(a => a.id == id).FirstOrDefault();
            BlogArticle nextblog    = dal.QueryWhere(a => a.id == id).FirstOrDefault();
            BlogArticle prevblog    = dal.QueryWhere(a => a.id == id).FirstOrDefault();

            blogArticle.traffic += 1;
            dal.Edit(blogArticle, new string[] { "traffic" });
            dal.SaverChanges();
            //AutoMapper自动映射
            Mapper.Initialize(cfg => cfg.CreateMap <BlogArticle, BlogViewModel>());
            BlogViewModel models = Mapper.Map <BlogArticle, BlogViewModel>(blogArticle);

            if (nextblog != null)
            {
                models.next    = nextblog.title;
                models.next_id = nextblog.id;
            }

            if (prevblog != null)
            {
                models.previous    = prevblog.title;
                models.previous_id = prevblog.id;
            }
            models.digest = HtmlTool.ReplaceHtmlTag(blogArticle.content).Length > 100 ? HtmlTool.ReplaceHtmlTag(blogArticle.content).Substring(0, 200) : HtmlTool.ReplaceHtmlTag(blogArticle.content);
            return(models);
        }
Esempio n. 11
0
 /// <summary>
 ///   URLエスケープする。
 ///   派生クラスでよく使うので便宜上用意している。
 /// </summary>
 protected static string UE(string x)
 {
     return(HtmlTool.UE(x));
 }