国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

使用C++程序獲取新浪行情數(shù)據(jù)的方法

2020-05-23 14:17:32
字體:
供稿:網(wǎng)友

這篇文章介紹了在一定的周期范圍內(nèi)去抓取新浪中行情數(shù)據(jù),通過更新數(shù)據(jù)來緩解構(gòu)造模擬數(shù)據(jù)與真實數(shù)據(jù)差異性,感興趣的朋友可以了解一下

在日常開發(fā)中我們經(jīng)常會使用到行情數(shù)據(jù),很多的時候我們根據(jù)一個基準數(shù)據(jù)區(qū)構(gòu)造行情,但是隨著時間的推移然來構(gòu)造的數(shù)據(jù)與真實行情數(shù)據(jù)之間的差距越來越大。

本問以AG1309為例子來說明,如何使用C++程序來獲取新浪行情數(shù)據(jù)。(說明如果合約過期獲取的數(shù)據(jù)將未空,此時請更換合約信息)。

好了,在這里就不再將廢話,直接給出源碼供大家學(xué)習(xí)!

// HttpDataTest.cpp : 定義控制臺應(yīng)用程序的入口點。

 

 
  1. #include "stdafx.h" 
  2. #include 
  3. #include 
  4. #include 
  5. #include 
  6. #include 
  7. #include 
  8.  
  9. #define MAXSIZE 1024 
  10.  
  11. #pragma comment(lib, "Wininet.lib") 
  12.  
  13.  
  14. void urlopen(_TCHAR*); 
  15. std::string GetSubBtFind(char* lpsz); 
  16. int Token(const char* pSep, char* pStr, std::vector& refvec); 
  17.  
  18.  
  19. int _tmain(int argc, _TCHAR* argv[]) 
  20. urlopen(_T("http://hq.sinajs.cn/list=AG1309")); 
  21.  
  22. system("pause"); 
  23. return 0; 
  24.  
  25.  
  26. void urlopen(_TCHAR* url) 
  27. HINTERNET hSession = InternetOpen(_T("UrlTest"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); 
  28. if(hSession != NULL) 
  29. HINTERNET hHttp = InternetOpenUrl(hSession, url, NULL, 0, INTERNET_FLAG_DONT_CACHE, 0); 
  30. if (hHttp != NULL) 
  31. wprintf_s(_T("%s/n"), url); 
  32. char Temp[MAXSIZE]; 
  33. ULONG Number = 1; 
  34. while (Number > 0) 
  35. InternetReadFile(hHttp, Temp, MAXSIZE - 1, &Number); 
  36. Temp[Number] = '/0'
  37. std::string str= GetSubBtFind(Temp); 
  38. char szpstr[1024]; 
  39. strcpy(szpstr, str.c_str()); 
  40. std::vector vec; 
  41. Token(",", szpstr, vec); 
  42. printf("%s/n", Temp); 
  43.  
  44. for(int i=0; i 
  45. printf("%s/n", vec[i]); 
  46.  
  47. InternetCloseHandle(hHttp); 
  48. hHttp = NULL; 
  49.  
  50. InternetCloseHandle(hSession); 
  51. hSession = NULL; 
  52.  
  53.  
  54.  
  55. std::string GetSubBtFind(char* lpsz) 
  56. std::string scrStr=lpsz; 
  57. std::string str_temp=""
  58. int len=strlen(lpsz); 
  59. int beginPos=scrStr.find("/""); 
  60. scrStr=scrStr.substr(beginPos+1,len); 
  61. int endPos=scrStr.find("/""); 
  62.  
  63. str_temp=scrStr.substr(0,endPos); 
  64.  
  65. return str_temp; 
  66.  
  67.  
  68. int Token(const char* pSep, char* pStr, std::vector& refvec) 
  69. for(char* outer = strtok(pStr, pSep) ; NULL != outer; outer = strtok(NULL, pSep)) 
  70. refvec.push_back(outer); 
  71.  
  72. return 0; 

上述代碼在vs2008下運行結(jié)果如下:

使用C++程序獲取新浪行情數(shù)據(jù)的方法

以上就是本文的全部內(nèi)容,希望對大家熟練應(yīng)用C++程序抓取數(shù)據(jù)有所幫助

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 乐山市| 龙南县| 敦化市| 清水河县| 新河县| 沽源县| 萨嘎县| 桑植县| 庄河市| 诸城市| 武平县| 将乐县| 易门县| 加查县| 昌吉市| 长武县| 长宁区| 扶余县| 喜德县| 南通市| 瓮安县| 佳木斯市| 麻阳| 松滋市| 广宗县| 克什克腾旗| 吉林省| 鲁山县| 益阳市| 龙南县| 宁化县| 长海县| 宁夏| 绥德县| 平昌县| 桦川县| 嘉鱼县| 新闻| 泗阳县| 泗阳县| 霍州市|