怎么在DOS下用C语言写网络爬虫

怎么在DOS下用C语言写网络爬虫,第1张

获取cspider_t。

自定义user agent,cookie,timeout,proxy以及抓取线程和解析线程的最大数量。

添加初始要抓取的url到任务队列。

编写解析函数和数据持久化函数。

启动爬虫

例子

先来看下简单的爬虫例子,会在后面详细讲解例子。

#include<cspider/spider.h>

/*

 自定义的解析函数,d为获取到的html页面字符串

*/

void p(cspider_t *cspider, char *d, void *user_data) {

char *get[100]

//xpath解析html

int size = xpath(d, "//body/div[@class='wrap']/div[@class='sort-column area']/div[@class='column-bd cfix']/ul[@class='st-list cfix']/li/strong/a", get, 100)

int i

for (i = 0i <sizei++) {

//将获取到的电影名称,持久化

 saveString(cspider, get[i])

}

}

/*

 数据持久化函数,对上面解析函数中调用的saveString()函数传入的数据,进行进一步的保存

*/

void s(void *str, void *user_data) {

char *get = (char *)str

FILE *file = (FILE*)user_data

fprintf(file, "%s\n", get)

return

}

int main() {

//初始化spider

cspider_t *spider = init_cspider()

char *agent = "Mozilla/5.0 (MacintoshIntel Mac OS X 10.10rv:42.0) Gecko/20100101 Firefox/42.0"

//char *cookie = "bid=s3/yuH5Jd/Ill=108288viewed=1130500_24708145_6433169_4843567_1767120_5318823_1899158_1271597__utma=30149280.927537245.1446813674.1446983217.1449139583.4__utmz=30149280.1449139583.4.4.utmcsr=accounts.douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/[email protected]=58742090:QgZ2PSLiDLQck=T9Wnpush_noty_num=0push_doumail_num=7ap=1__utmb=30149280.0.10.1449139583__utmc=30149280"

//设置要抓取页面的url

cs_setopt_url(spider, "so.tv.sohu.com/list_p1100_p20_p3_u5185_u5730_p40_p5_p6_p77_p80_p9_2d1_p101_p11.html")

//设置user agent

cs_setopt_useragent(spider, agent)

//cs_setopt_cookie(spider, cookie)

//传入解析函数和数据持久化函数的指针

cs_setopt_process(spider, p, NULL)

//s函数的user_data指针指向stdout

cs_setopt_save(spider, s, stdout)

//设置线程数量

cs_setopt_threadnum(spider, DOWNLOAD, 2)

cs_setopt_threadnum(spider, SAVE, 2)

//FILE *fp = fopen("log", "wb+")

//cs_setopt_logfile(spider, fp)

//开始爬虫

return cs_run(spider)

}

想做爬虫程序不是学完语言就行了,是要学很多东西的,你可以查一查大学计算机专业有哪些课程。

做爬虫可以学学java语言。

《网络机器人Java编程指南》

开源的爬虫产品

http://www.oschina.net/project/tag/64/spider?lang=19&os=0&sort=view&p=1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8137243.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存