libcurl保存网页内容以及图片
来源:互联网 发布:重庆市行知学校收费 编辑:程序博客网 时间:2024/05/18 03:41
最近一直在学习linux下使用libcurl,网络上很多朋友有比较详细的使用方法,下面是本人经过测试的功能函数,主要是能高保存网页源码,相当于我们点击查看->源码 所看到的内容。首先介绍一下libcurl的使用吧。
首先必须要安装libcurl开发环境(有时候吧这些环境手工引用也行)。获取和安装 libcurl 非常简单,取决于您所运行的 Linux 发行版。如果运行的是 Ubuntu,您可以使用 apt-get轻松安装这些包。以下行演示了如何为 libcurl 安装 libcurl:
$ sudo apt-get install libcurl3
完成之后在安装curl:
sudo apt-get install curl
安装curl开发环境:
sudo apt-get install libcurl4-gnutls-dev
下面开始介绍一下使用。
#include <curl/curl.h>//使用curl获取internet的curl源码内容 安装开发包sudo apt-get install libcurl4-gnutls-dev
#include <curl/types.h>
#include <curl/easy.h>
#include <memory>
#include <string>
#include <sys/sysinfo.h>
#include <sys/statfs.h>
#include <sys/statvfs.h>
#include <sys/vfs.h>
#include <fcntl.h>
#include <utmp.h>
#include <mntent.h>
//回调函数,这个函数是为了符合CURLOPT_WRITEFUNCTION, 而构造的
size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
int written = fwrite(ptr, size, nmemb, (FILE *)fp);
return written;
}
int main(int argc, char *argv[])
{
CURL *curl;
curl_global_init(CURL_GLOBAL_ALL);
curl=curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, argv[1]); //如argv[1] = "www.ihep.ac.cn"
char cFileName[128]={0};
sprintf(cFileName,"%s.txt",argv[1]);
if((fp=fopen(cFileName,"w"))==NULL) {
curl_easy_cleanup(curl);
return -1;
}
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); //CURLOPT_WRITEFUNCTION 将后继动作交给write_data函数处理
curl_easy_perform(curl);
curl_easy_cleanup(curl);
return 1;
}
以上简单的源码即可实现保存网页的源码内容,现在还有个问题,如何将网页中出现的图片保存下来呢?有的朋友介绍个用网页爬虫爬取,这是比较复制的方案,如何用libcurl来实现待继续测试。
- libcurl保存网页内容以及图片
- libcurl抓取网页并保存cookie
- libcurl获取网页内容的PHP代码
- webbrowser如何将网页内容保存为字符串以及根据字符串显示成网页
- 将网页内容保存为字符串以及根据字符串显示成网页
- 网页保存为图片
- 保存网页内容到txt
- 获取网页内容,并保存
- 图片上传以及保存
- 图片上传以及保存
- tableview 加载图片时内容混乱,亲测好用,以及 图片保存到本地相册
- libcurl获取网页内容的C/C++代码
- 利用htmpParser获取网页内容以及网页上的图片地址
- 把UIWebView内容保存图片
- WebBrowser 内容保存为图片
- ubuntu快速保存网页图片
- Delphi保存网页中的图片
- Javascript保存网页为图片
- buildbot安装步骤(仅更新原帖中使用的版本)
- 如何对私有方法进行单元测试?(依据推荐等级排序)
- 算法时间复杂度的计算
- Android Permission访问权限许可
- 网络爬虫资料大全
- libcurl保存网页内容以及图片
- 047_《Delphi技术手册》
- 已有函数自己写
- AIX新手入门
- 归档模式与非归档模式
- 048_《Delphi简明教程》
- 去掉超链接的虚框
- 049_《Delphi XML权威指南》
- 某公司笔试题(实习)-(其实有的所谓的技术工作是不需要技术的)