public static void timerGetArticle_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { Link_To_Get rs = GetOneLinkToGet(); WebDownloader wd = new WebDownloader(); Encoding ec = Encoding.GetEncoding("UTF-8"); //string strContent = wd.GetPageByHttpWebRequest(rs.strSiteUrl, ec, ""); //GetSiteLinks(rs, strContent); ContentGatherRule cgr = new ContentGatherRule(); bool bFind = false; string strUrlRuleFind = ""; foreach (string strTemp in m_dicSiteRules.Keys) { string strUrlRule = strTemp; strUrlRule = strUrlRule.Replace(".", "\\."); strUrlRule = strUrlRule.Replace("*", ".*?"); MatchCollection matchs = Regex.Matches(rs.strSiteUrl, strUrlRule, RegexOptions.Singleline); if (matchs.Count > 0) { bFind = true; strUrlRuleFind = strTemp; break; } } //这里要向服务器报告已经处理过,数据表需要增加字段 if (!bFind) { return; } else { cgr.strArticleContentCssPath = m_dicSiteRules[strUrlRuleFind]; } string strArticle = wd.GetPageByHttpWebRequest(rs.strSiteUrl, ec, ""); strArticle = GetPageContent(cgr.strArticleContentCssPath, strArticle); string strUpdateContentUrl = strApiUrl + "/index.php/api/index/update_article_content"; Encoding encoding = Encoding.GetEncoding("utf-8"); IDictionary <string, string> parameters = new Dictionary <string, string>(); strArticle = System.Web.HttpUtility.HtmlDecode(strArticle); parameters.Add("id", rs.nID.ToString()); parameters.Add("content", strArticle); //parameters.Add("password", password); HttpWebResponse response = HttpWebResponseUtility.CreatePostHttpResponse(strUpdateContentUrl, parameters, null, null, encoding, null); Console.WriteLine("timerGetArticle_Elapsed"); }
public static RssSource GetOneTask() { string loginUrl = strApiUrl + "/index.php/api/index/get_one_task"; RssSource rs = new RssSource(); Encoding encoding = Encoding.GetEncoding("utf-8"); IDictionary <string, string> parameters = new Dictionary <string, string>(); HttpWebResponse response = HttpWebResponseUtility.CreatePostHttpResponse(loginUrl, parameters, null, null, encoding, null); StreamReader reader = new StreamReader(response.GetResponseStream(), encoding); string result = reader.ReadToEnd(); JObject jo = JObject.Parse(result); string[] values = jo.Properties().Select(item => item.Value.ToString()).ToArray(); JArray ja = (JArray)JsonConvert.DeserializeObject(values[3]); foreach (JToken jt in ja) { rs.strSiteName = jt["site_name"].ToString(); rs.strSiteCode = jt["site_code"].ToString(); rs.strSiteUrl = jt["site_url"].ToString(); rs.strArticleUrlPattern = jt["article_url_pattern"].ToString(); rs.strArticleUrlRangeCssPath = jt["article_url_range"].ToString(); } return(rs); //Console.WriteLine("timerGetLinks_Elapsed"); }
public static Link_To_Get GetOneLinkToGet() { string loginUrl = strApiUrl + "/index.php/api/index/get_one_link"; Link_To_Get rs = new Link_To_Get(); Encoding encoding = Encoding.GetEncoding("utf-8"); IDictionary <string, string> parameters = new Dictionary <string, string>(); HttpWebResponse response = HttpWebResponseUtility.CreatePostHttpResponse(loginUrl, parameters, null, null, encoding, null); StreamReader reader = new StreamReader(response.GetResponseStream(), encoding); string result = reader.ReadToEnd(); JObject jo = JObject.Parse(result); string[] values = jo.Properties().Select(item => item.Value.ToString()).ToArray(); JArray ja = (JArray)JsonConvert.DeserializeObject(values[3]); foreach (JToken jt in ja) { rs.nID = int.Parse(jt["id"].ToString()); rs.strSiteUrl = jt["article_link"].ToString(); } return(rs); //Console.WriteLine("timerGetLinks_Elapsed"); }
public static void GetAllRules() { string loginUrl = strApiUrl + "/index.php/api/index/get_all_rules"; RssSource rs = new RssSource(); Encoding encoding = Encoding.GetEncoding("utf-8"); IDictionary <string, string> parameters = new Dictionary <string, string>(); HttpWebResponse response = HttpWebResponseUtility.CreatePostHttpResponse(loginUrl, parameters, null, null, encoding, null); StreamReader reader = new StreamReader(response.GetResponseStream(), encoding); string result = reader.ReadToEnd(); JObject jo = JObject.Parse(result); string[] values = jo.Properties().Select(item => item.Value.ToString()).ToArray(); JArray ja = (JArray)JsonConvert.DeserializeObject(values[3]); foreach (JToken jt in ja) { string strArticle_url_pattern = jt["article_url_pattern"].ToString(); string strArticle_content_csspath = jt["article_content_csspath"].ToString(); m_dicSiteRules.Add(strArticle_url_pattern, strArticle_content_csspath); } return; //Console.WriteLine("timerGetLinks_Elapsed"); }
public static int IsLinkExist(int nOffset1, int nOffset2) { string loginUrl = strApiUrl + "/index.php/api/index/is_link_exist"; RssSource rs = new RssSource(); Encoding encoding = Encoding.GetEncoding("utf-8"); IDictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("offset1", nOffset1.ToString()); parameters.Add("offset2", nOffset2.ToString()); HttpWebResponse response = HttpWebResponseUtility.CreatePostHttpResponse(loginUrl, parameters, null, null, encoding, null); StreamReader reader = new StreamReader(response.GetResponseStream(), encoding); string result = reader.ReadToEnd(); JObject jo = JObject.Parse(result); string[] values = jo.Properties().Select(item => item.Value.ToString()).ToArray(); return(int.Parse(values[1])); //Console.WriteLine("timerGetLinks_Elapsed"); }
public static void AddArticle(string strContent) { string loginUrl = strApiUrl + "/index.php/api/index/add_article"; RssSource rs = new RssSource(); Encoding encoding = Encoding.GetEncoding("utf-8"); IDictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("article_content", strContent.ToString()); HttpWebResponse response = HttpWebResponseUtility.CreatePostHttpResponse(loginUrl, parameters, null, null, encoding, null); StreamReader reader = new StreamReader(response.GetResponseStream(), encoding); return; //Console.WriteLine("timerGetLinks_Elapsed"); }