Beispiel #1
0
        /// <summary>
        /// 根據設定將進行資料爬蟲
        /// </summary>
        public void DoCrawer()
        {
            WebBase wb = new WebBase();

            foreach (var nd in _NotifyData)
            {
                wb.SetURL(nd.Url);
                string html = wb.GetHtmlContent(nd.Url);
                if (nd.NotifyType == Enum.DBEnum.NotifyType.Fund)
                {
                    IFundCrawler crawer    = CrawlerCreateFactory.CreateFundCrawler(nd.Resource);
                    var          fundDatas = crawer.ParseFund(html);
                    if (fundDatas.Count == 0)
                    {
                        continue;
                    }
                    var crd = ConvertFundDataToCrawerData(fundDatas, nd.Name);
                    _CrawlerData.Add(crd);
                }
            }
        }
Beispiel #2
0
        public static IFundCrawler CreateFundCrawler(DataResource resource)
        {
            IFundCrawler crawler = null;

            switch (resource)
            {
            case DataResource.BankOfTaiwan:
                crawler = new BankOfTaiwan();
                break;

            case DataResource.FundRich:
                crawler = new FundRich();
                break;

            case DataResource.FundYes:
                break;

            default:
                break;
            }
            return(crawler);
        }