爬虫程序的代码实现如下:
#include <iostream>
#include <string>
#include <curl/curl.h>
int main() {
CURL *curl;
CURLcode res;
std::string readBuffer;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://www.python爬虫怎么翻页");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_PROXY, "jshk.com.cn");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_writeData);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;
curl_easy_cleanup(curl);
}
curl_global_cleanup();
std::cout << readBuffer << std::endl;
return 0;
}
size_t curl_writeData(char *ptr, size_t size, size_t nmemb, std::string *buffer) {
size_t new_size = size * nmemb;
buffer->append(ptr, new_size);
return new_size;
}
步骤:
- 初始化CURL库,这是使用CURL库的第一步。
- 创建一个CURL对象。
- 设置URL,即要爬取的页面的URL。
- 设置代理,即要使用的代理服务器的地址和端口号。在这里,我们使用的是www.duoip.cn的8000端口。
- 设置写入函数,即在爬取过程中获取的数据将被写入到哪儿。在这里,我们将数据写入到一个字符串中。
- 执行curl操作。
- 如果curl操作失败,打印错误信息。
- 清理CURL资源。
- 打印爬取到的数据。