用c语言写一个爬图片的代码
以下是一个用C语言编写的简单爬取图片的代码示例:
#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
// 回调函数,用于写入文件
size_t write_callback(void* contents, size_t size, size_t nmemb, FILE* fp) {
return fwrite(contents, size, nmemb, fp);
}
int main() {
CURL* curl;
CURLcode res;
FILE* fp;
// 初始化libcurl
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
// 设置要爬取的图片URL
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/image.jpg");
// 设置回调函数,将获取到的数据写入文件
fp = fopen("image.jpg", "wb");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
// 执行请求
res = curl_easy_perform(curl);
// 检查请求是否成功
if (res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
}
// 清理资源
curl_easy_cleanup(curl);
fclose(fp);
}
// 清理libcurl
curl_global_cleanup();
return 0;
}
请注意,运行该代码需要先安装libcurl库。在Linux中,可以使用以下命令安装:
sudo apt-get install libcurl4-openssl-dev
在Windows中,可以从libcurl官网下载预编译的库文件,并将其链接到项目中。
此代码示例只是一个简单的爬取图片的示例,实际应用中可能需要考虑更多的错误处理和更复杂的逻辑
原文地址: http://www.cveoy.top/t/topic/iiZ8 著作权归作者所有。请勿转载和采集!