C语言写个爬虫,爬取网站上的图片,并保存在C盘中
时间: 2024-06-10 11:06:18 浏览: 72
爬虫爬取网站图片并存取到指定目录
这是一份使用 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 信息。
此外,还需要注意遵守网络爬虫的合法使用规范,避
阅读全文