资源简介
完全基于C语言实现的网络爬虫(也就是所谓的网络蜘蛛、搜索引擎),内附详细的设计文档和详细的讲解,想学的同志不容错过吖
代码片段和文件信息
#include “Csocket.h“
Csocket::Csocket(void)
{
}
Csocket::~Csocket(void)
{
}
SOCKET Csocket::Create(int af int type int protocol)
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2 2 );
err = WSAStartup( wVersionRequested &wsaData );
if ( err != 0 )
{
cout << “Error: “ << WSAGetLastError() << endl;
return NULL;
}
if ( LOBYTE( wsaData.wVersion ) != 2 ||
HIBYTE( wsaData.wVersion ) != 2 )
{
cout << “Error: “ << WSAGetLastError() << endl;
WSACleanup( );
return NULL;
}
return socket(af type protocol);
}
int Csocket::CConnect(SOCKET client string dest)
{
SOCKADDR_IN addrSrv;
char a[50] = “ “;
for(int i=0; i a[i] = dest[i];
LPHOSTENT lphost;
int port ;
port = 8080;
lphost = gethostbyname(a);
addrSrv.sin_addr.S_un.S_addr = ((LPIN_ADDR)lphost->h_addr)->S_un.S_addr;
addrSrv.sin_port = htons(port);
addrSrv.sin_family = AF_INET;
int result;
result = connect(client (SOCKADDR*)&addrSrv sizeof(SOCKADDR));
if (0 != result)
{
cout << “Connect error! “ << GetLastError() << endl;
WSACleanup();
}
return result;
}
void Csocket::CClose(SOCKET client)
{
closesocket(client);
WSACleanup();
}
int Csocket::CSend(SOCKET client const char* sendbuf int len)
{
int result;
result = send (client sendbuf len 0);
return result;
}
void Csocket::CRecv(SOCKET client FILE* fp)
{
char recvBuf[200];
static CRegexpT regex_first(“\“[hH][tT]{2}[pP]\\:/{2}.*?(\“)“);
// get the URL like “http://www.neusoft.com/...“
static CRegexpT regex_second(“\“[hH][tT]{2}[pP]\\:/{2}.*?(?=((/)|(\“)|(\\:)))“);
// get the URL like “www.neusoft.com“
int recvresult = 0;
int i = 0;
string temp;
do
{
memset(recvBuf0x00sizeof(recvBuf));
recvresult = recv(client recvBuf 200 0);
MatchResult result_first = regex_first.Match(recvBuf);
while( result_first.IsMatched() )
{
char resu[200] = “ “;
for (i=0; i resu[i] = recvBuf[result_first.GetStart()+i];
fputs(resu fp);
fprintf(fp “\n“);
cout << resu << endl;
result_first = regex_first.Match(recvBuf result_first.GetEnd());
}
MatchResult result_second = regex_second.Match(recvBuf);
while( result_second.IsMatched())
{
char resu[200] = “ “;
for (i=0; i resu[i] = recvBuf[result_second.GetStart()+i+8];
temp = resu;
myURL.push_back(temp);
result_second = regex_second.Match(recvBuf result_second.GetEnd());
}
}while (recvresult != 0);
cout << “Received over!“ << endl;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 33280 2008-06-20 13:29 理工大学优秀毕业设计论文及成果物--王光磊\本科毕业设计任务书_王光磊.doc
文件 30208 2008-06-20 13:32 理工大学优秀毕业设计论文及成果物--王光磊\毕业评语.doc
文件 25600 2008-06-20 13:05 理工大学优秀毕业设计论文及成果物--王光磊\论文封面.doc
文件 2825 2008-05-29 19:01 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\CSocket.cpp
文件 490 2008-04-28 10:52 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Csocket.h
文件 98132 2008-04-02 09:14 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\deelx.h
文件 1451 2008-06-09 20:20 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\main.cpp
文件 38 2008-04-30 11:59 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\source.ini
文件 1528 2008-06-08 13:49 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Spider.cpp
文件 208 2008-04-28 11:59 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Spider.h
文件 4889 2008-04-30 12:01 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\SpiderTest11.dsp
文件 549 2008-04-30 11:05 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\SpiderTest11.dsw
文件 82944 2008-06-09 20:55 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\SpiderTest11.ncb
文件 53760 2008-06-09 20:55 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\SpiderTest11.opt
文件 983 2008-06-09 20:17 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\SpiderTest11.plg
文件 293 2008-04-01 08:46 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\stdafx.cpp
文件 644 2008-04-28 13:55 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\stdafx.h
文件 180304 2008-06-09 20:17 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Debug\SpiderTest11.exe
文件 476160 2008-06-09 20:16 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Debug\SpiderTest11.pdb
文件 16147 2008-04-30 11:07 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Debug\stdafx.obj
文件 192512 2008-06-09 20:16 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Debug\vc60.pdb
文件 24197 2008-06-09 20:17 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Debug\main.obj
文件 313424 2008-06-09 20:16 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Debug\CSocket.obj
文件 44169 2008-06-09 20:16 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Debug\Spider.obj
文件 630784 2008-07-01 17:44 理工大学优秀毕业设计论文及成果物--王光磊\论文的PPT-王光磊.ppt
文件 1397760 2008-07-01 17:32 理工大学优秀毕业设计论文及成果物--王光磊\毕业设计--王光磊0628.doc
目录 0 2008-07-01 17:28 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物\Debug
目录 0 2008-07-01 17:28 理工大学优秀毕业设计论文及成果物--王光磊\网络爬虫成果物
目录 0 2008-07-01 17:26 理工大学优秀毕业设计论文及成果物--王光磊
----------- --------- ---------- ----- ----
............此处省略2个文件信息
- 上一篇:国密SM4的5中模式C语言实现,vs工程,包含头文件和源码
- 下一篇:实验银币问题
评论
共有 条评论