首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++写网络爬虫

2014-05-11 
求助:c++写网络爬虫!我原来用java写过一个爬虫,现在用c++写,遇到一些问题。发现c++的网络编程还是挺复杂的,

求助:c++写网络爬虫!
我原来用java写过一个爬虫,现在用c++写,遇到一些问题。
发现c++的网络编程还是挺复杂的,要调用到底层的函数。我想求教谁用C++写过爬虫的,我应该是用winsock2编程呢还是调用MFC中的CSocket编程还是有其他更好方式?
还有c++写爬虫要注意到哪些问题?麻烦知道的帮助我一下吧!
[解决办法]
不要用MFC中的CSocket写,这几乎是MFC中最垃圾一部分(个人看法)。

C++网络爬虫,网上应该会有源代码吧?搜搜。
[解决办法]
给你一个简单的例子


#include <fstream>
#include <afx.h>
#include <afxinet.h>

using std::ofstream;
using std::endl;

int main()
{
CInternetSession session("HttpClient");
CString urlBase = "http://t.sina.com.cn/";
DWORD dwStatusCode;

char buffer[16];
bool flag=true;
for (unsigned long i(1);flag;++i)
{
CHttpFile *pfile = (CHttpFile *)session.OpenURL(urlBase+_ltoa(i,buffer,10));
pfile -> QueryInfoStatusCode(dwStatusCode);

if(dwStatusCode == HTTP_STATUS_OK)
{
CString data;
while (pfile -> ReadString(data))
{

}
}
else
{
flag=false;
}
pfile->Close();
delete pfile;
}

session.Close();
return 0;
}

[解决办法]
这是与平台相关的要求,在c++中,这种代码必须借助一个现成的类库。就算是Qt也是因为有了不同的编译器才得以源码跨平台。所以,你这个问题不是很麻烦,而是解决不了。
在windows下,用c++的话,还是应该考虑首选MFC的,当然如果熟悉的话,QT也行啊。

引用:
这个是用MFC类库写的吧?如果不用MFC写会不会很麻烦啊?

引用:

没有注释,写的是一种思想,可编译通过。

[解决办法]
libcurl
[解决办法]
 libcurl 正适合你。
 官网:http://curl.haxx.se/libcurl/

热点排行