前几天学习了libcurl的应用(注:libcurl的主页:https://curl.haxx.se/libcurl/),然后我就想,能不能用libcurl来实现一个简单的爬虫程序呢?爬虫的话感觉流程就是访问网页得到网页的源代码,在网页的源代码中筛选出想要的数据。这些libcurl都能够实现,于是我就写了下面的简单代码来测试(注:下面的代码于visual studio 2017 community上面编写完成):
#define CURL_STATICLIB
#include "libcurl/inlcude/curl.h"
#include <regex>
#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
// 保存网页的html数据
size_t SaveWebsiteHtmlData(void * p_data, size_t size, size_t nmemb, void * stream)
{
if ((p_data == nullptr)
|| (stream == nullptr))
{
return 0;
}
std::string html_data(reinterpret_cast<const char*>(p_data), size * nmemb);
*(reinterpret_cast<std::ostringstream*>(stream)) << html_data;
retu