资源简介

完全基于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个文件信息

评论

共有 条评论