/// <summary> /// /// </summary> /// <param name="stockCode"></param> /// <param name="start"></param> /// <param name="end"></param> /// <param name="type">cn为股票,zs为指数</param> public static void GetHistoryFromWeb(string stockCode, DateTime start, DateTime end, string type = "cn") { string url = @"http://q.stock.sohu.com/hisHq?code={3}_{0}&start={1}&end={2}".F(stockCode, start.ToString("yyyyMMdd"), end.ToString("yyyyMMdd"), type); WebClientX client = new WebClientX(); client.Timeout = 1000 * 120; var text = client.GetHtml(url); var doc = new HtmlDocument(); doc.LoadHtml(text); var value = doc.DocumentNode.InnerText; var et = new StockHisText() { Code = stockCode, Start = start, End = end, HisText = value }; try { if (type == "zs") { et.Code = "{0}_{1}".F("Index", et.Code); //加前缀区分 } et.Insert(); } catch (Exception err) { XTrace.WriteException(err); } }
static void Test4() { var str = "~/Sso/Login"; var uri2 = new Uri("Sso/Login", UriKind.Absolute); //var uri = str.AsUri("http://xxx.yyy.zzz/ss/dd/ff".AsUri()); var uri = str.AsUri(); //var cfg = CacheConfig.Current; //Console.WriteLine(cfg.GetOrAdd("Bill01")); //var set = cfg.GetOrAdd("aa_test", "redis"); //Console.WriteLine(set); WebClientX.SetAllowUnsafeHeaderParsing(true); var url = "https://api.github.com/user?access_token=ccb5c1363318ee2fa1d9374e87961bdf01a4c682"; var client = new WebClientX(true, true); //var buf = client.DownloadDataAsync(url).Result; //var ms = new MemoryStream(buf); //var ms2 = ms.DecompressGZip(); //buf = ms2.ReadBytes(); var html = client.GetHtml(url); Console.WriteLine(html); var ip = "223.5.5.5"; ip = ip.IPToAddress(); Console.WriteLine(ip); }
public static HtmlDocument GetHtmlByUrl(this string url) { WebClientX client = new WebClientX(); client.Timeout = 1000 * 120; var text = client.GetHtml(url); var doc = new HtmlDocument(); doc.LoadHtml(text); return(doc); }
/// <summary>创建客户端</summary> /// <param name="url">路径</param> /// <returns></returns> protected override String Request(String url) { if (_Client == null) { // 允许宽松头部 WebClientX.SetAllowUnsafeHeaderParsing(true); // 必须指定中文编码 _Client = new WebClientX(true, true); } return(LastHtml = _Client.GetHtml(url)); }
public static void ParseStockGroup(GroupKind model, string url) { WebClientX client = new WebClientX(); client.Timeout = 1000 * 120; var text = client.GetHtml(url); var doc = new HtmlDocument(); doc.LoadHtml(text); var value = doc.DocumentNode.InnerText; string node = @"/html[1]/body[1]/div[4]/div[1]/div[3]/table[1]/tbody[1]"; var res = doc.DocumentNode.SelectSingleNode(node).SelectNodes(@"tr"); if (res == null) { return; } if (res.Count > 1) { for (int i = 1; i < res.Count; i++) { var code = res[i].SelectSingleNode(@"td[1]").InnerText.Trim(); var name = res[i].SelectSingleNode(@"td[2]").InnerText.Trim(); StockGroup et = new StockGroup() { Code = code, StockName = name, GroupID = model.ID, Kind = model.Kind, CreateDate = DateTime.Now }; et.ID = "{0}_{1}".F(et.GroupID, et.Code); et.Save(); } #endregion } }