/// <summary> /// 创建下载器 /// </summary> /// <param name="type">下载器类型</param> /// <param name="start">开始时间</param> /// <param name="end">结束时间</param> /// <returns></returns> public static IDownloader CreateDownloader(NewsPaperTypeEnum type, DateTime start, DateTime end) { IDownloader downloader = null; switch (type) { case NewsPaperTypeEnum.ChinaTeacher: downloader = new TeacherDownLoader(start, end); break; case NewsPaperTypeEnum.ChinaEducation: downloader = new EducationDownLoader(start, end); break; } return(downloader); }
private List <string> GetFileNames(DateTime dateTime, NewsPaperTypeEnum type = NewsPaperTypeEnum.ChinaTeacher) { List <string> fileNames = new List <string>(); for (int i = 1; i <= 30; i++) { if (type == NewsPaperTypeEnum.ChinaTeacher) { fileNames.Add($"ZGJSB{i.ToString().PadLeft(2, '0')}B{dateTime.ToString("yyyyMMdd")}C.pdf"); } else { fileNames.Add($"ZGJYB{dateTime.ToString("yyyyMMdd")}{i.ToString().PadLeft(2, '0')}.pdf"); } } return(fileNames); }
private List <DateTime> GetTerms(DateTime start, DateTime end, NewsPaperTypeEnum type = NewsPaperTypeEnum.ChinaTeacher, List <DateTime> hasDownloadfiles = null) { List <DateTime> listTerm = new List <DateTime>() { }; string url = string.Empty; if (type == NewsPaperTypeEnum.ChinaTeacher) { url = "http://www.chinateacher.com.cn/zgjsb/html/{0}/node_22.htm"; } else if (type == NewsPaperTypeEnum.ChinaEducation) { url = "http://paper.jyb.cn/zgjyb/html/{0}/node_2.htm"; } for (DateTime i = start; i <= end; i = i.AddDays(1)) { if (hasDownloadfiles.Contains(i)) { continue; } string requestUrl = string.Format(url, i.ToString("yyyy-MM/dd")); try { var response = checkClient.GetAsync(requestUrl).GetAwaiter().GetResult(); if (response.StatusCode == System.Net.HttpStatusCode.OK) { listTerm.Add(i); } } catch (Exception) { continue; } } return(listTerm); }