好的,这是一个简单的 C 语言爬虫的例子:
``` #include <stdio.h> #include <stdlib.h> #include <string.h> #include <curl/curl.h>
// 定义一个结构体来存储网页内容 struct MemoryStruct { char *memory; size_t size; };
// 写回调函数,将网页内容追加到 MemoryStruct 中 static size_t WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp) { size_t realsize = size * nmemb; struct MemoryStruct *mem = (struct MemoryStruct *)userp; char ptr = realloc(mem->memory, mem->size + realsize + 1); if(ptr == NULL) { / out of memory! */ printf("not enough memory (realloc returned NULL)\n"); return 0; }
mem->memory = ptr; memcpy(&(mem->memory[mem->size]), contents, realsize); mem->size += realsize; mem->memory[mem->size] = 0;
return realsize;