ivspider - wget 封装计划的第一篇

ivspider是一个简单易用的工具,通过在程序中调用IVSpdHttpRetrieve函数,可以方便地获取网站的数据。文章提供了一个WIN32的小例子,展示了如何配置回调函数来处理数据返回和丢失的事件,从而实现自动化爬取站点信息。
摘要由CSDN通过智能技术生成

Ivspider 提供了简单、标准的使用接口与协议。简单地在程序中添加几行代码,便可拥有把一个网站所有(或大部分)的网页数据取回来的能力。

这是一个小例子(WIN32):

#include "../include/ivspider.h"
#include "command.h"
#include <stdlib.h>
#include <stdio.h>
 
#ifdef _DEBUG
#pragma comment(lib, "../lib/ivspiderd.lib")
#pragma message("debug")
#else
#pragma comment(lib, "../lib/ivspider.lib")
#endif
 
int main(int argc, char* argv[])
{
	// 定义抓取参数。
	SPD_RECUR_PARAM srp = {0};
	srp.nAllTimeout = 3000;		// 所有操作的超时值均为3000毫秒。
	srp.nFollowTags = SPD_TAG_SCRIPT|SPD_TAG_LINK; // 指定为抓取<script />, <link /> 的标签链接。
	srp.nRecursiveLeve = 4;		// 遍历最大深度为4层。
	srp.nRecursiveAmount = 1000;    // 遍历最大链接数为1000个。
	srp.nSpanHost = 1;		// 指定可以跨站抓取。
 
	srp.cb[SPD_EVENT_DATAIN] = (cbfun)ivs_spider_cbfun;	// 指定数据返回后执行的事件函数。
	srp.cb[SPD_EVENT_DATALACK] = (cbfun)ivs_spider_cbfun;	// 指定丢弃数据后执行的事件函数。
 
	printf("开始遍历……n[父链接ID, 当前页面ID, 标记名] 当前页面链接 [页面状态]\n\n");
 
	// 按以上配置参数开始抓取 http://localhost/ 站点。
	IVSpdHttpRetrieve("http://localhost/", &srp);
 
	printf("finish\n");
	getchar();
	return 0;
}

主要导出函数IVSpdHttpRetrieve 的原型为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值