炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1604|回复: 1

请教下从网页上抓取数据

[复制链接]

该用户从未签到

发表于 2015-3-14 17:13:38 | 显示全部楼层 |阅读模式

  1. std::string HttpGet(std::string strUrl)
  2. {

  3.         HINTERNET hINet, hHttpFile;
  4.         hINet = InternetOpenA("Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);    //InternetOpen初始化WININET.DLL
  5.         if (!hINet)
  6.         {
  7.                 return "";
  8.         }
  9.         hHttpFile = InternetOpenUrlA(hINet, strUrl.c_str(), NULL, 0, 0, 0);  //这个函数连接到一个网络服务器上并且最被从服务器上读取数据
  10.         if (!hHttpFile)
  11.         {
  12.                 InternetCloseHandle(hINet);
  13.                 return "";
  14.         }
  15.        
  16.         std::string revData="";
  17.         DWORD dwBytesRead;
  18.             //web浏览器将在InternetReadFile上循环 ,不停地从Internet上读入数据块。
  19.         while(TRUE)
  20.         {
  21.                 char lpBuffer[1024] = {};
  22.                 BOOL bRead = InternetReadFile(hHttpFile, &lpBuffer, sizeof(lpBuffer)-1, &dwBytesRead);
  23.                 if (bRead == false || dwBytesRead == 0)
  24.                         break;
  25.                 revData += (std::string)lpBuffer;
  26.         }
  27.         InternetCloseHandle(hHttpFile);   //关闭句柄
  28.         InternetCloseHandle(hINet);
  29.         return revData;
  30. }

复制代码


问题:读了一部分,但未读完整。

该用户从未签到

 楼主| 发表于 2015-3-14 18:19:44 | 显示全部楼层
已经解决。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-5-2 19:43 , Processed in 0.062820 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表