这是一份使用 C 语言编写的简单网络爬虫的代码,它可以爬取网站上的图片并保存在 C 盘中:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <curl/curl.h>
int main(int argc, char *argv[]) { CURL *curl; CURLcode res; FILE *fp; char *url = "http://www.example.com/image.jpg"; char outfilename[FILENAME_MAX] = "C:\image.jpg";
curl = curl_easy_init(); if (curl) { fp = fopen(outfilename,"wb"); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL); curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp); res = curl_easy_perform(curl); /* check for errors / if (res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); / close the file / fclose(fp); / always cleanup */ curl_easy_cleanup(curl); } return 0; }
需要注意的是,这段代码使用了 libcurl 库,因此在编译时需要链接该库。例如:
gcc -o crawler crawler.c -lcurl
如果您想爬取的网站使用了反爬虫技术,可能需要模拟浏览器的行为来绕过反爬虫机制。例如,可以设置 CURLOPT_USERAGENT 选项来指定浏览器的名称和版本,或者设置 CURLOPT_COOKIEFILE 选项来提供浏览器的 cookie 信息。
此外,还需要注意遵守网络爬虫的合法使用规范,避