以下是一个使用C语言编写的简单代码,可以根据用户输入的文字爬取图片并保存到本地。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>

#define MAX_URL_LENGTH 1000

// 回调函数,用于将获取到的图片数据保存到本地文件
size_t write_callback(void* ptr, size_t size, size_t nmemb, FILE* stream) {
    return fwrite(ptr, size, nmemb, stream);
}

int main() {
    char search_text[MAX_URL_LENGTH];
    printf("请输入要搜索的文字:");
    fgets(search_text, MAX_URL_LENGTH, stdin);

    // 将换行符替换为空字符
    search_text[strcspn(search_text, "\n")] = '\0';

    // 构建搜索图片的URL
    char url[MAX_URL_LENGTH];
    snprintf(url, sizeof(url), "https://www.example.com/search?q=%s", search_text);

    CURL* curl = curl_easy_init();
    if (curl) {
        // 设置要访问的URL
        curl_easy_setopt(curl, CURLOPT_URL, url);

        // 创建保存图片的文件
        FILE* fp = fopen("image.jpg", "wb");
        if (fp == NULL) {
            printf("无法创建文件!\n");
            return 1;
        }

        // 设置回调函数
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);

        // 执行HTTP请求
        CURLcode res = curl_easy_perform(curl);
        if (res != CURLE_OK) {
            printf("请求失败:%s\n", curl_easy_strerror(res));
        }

        // 清理资源
        curl_easy_cleanup(curl);
        fclose(fp);
    }

    return 0;
}

请注意,上述代码中的https://www.example.com/search?q=仅作为示例URL,请根据实际情况替换为正确的URL。此外,代码中使用了libcurl库来进行HTTP请求,因此需要在编译时链接该库,例如使用以下命令进行编译:

gcc -o crawler crawler.c -lcurl

在运行时,用户需要输入要搜索的文字,然后代码会根据输入的文字构建URL,并将获取到的图片保存到名为image.jpg的文件中。请确保运行代码的机器已经安装了libcurl

用c语言写一个输入文字爬取图片的代码

原文地址: http://www.cveoy.top/t/topic/ii0E 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录