当前位置: 首页 > news >正文

自己学网站建设自己做返利网站吗

自己学网站建设,自己做返利网站吗,遵义专业建站,怎么向国外打广告本文介绍了如何使用C语言和cpprestsdk库编写一个下载器程序#xff0c;该程序可以从www.ebay.com网站上下载图片#xff0c;并保存到本地文件夹中。为了避免被网站屏蔽#xff0c;我们使用了亿牛云爬虫代理服务提供的代理IP地址#xff0c;以及多线程技术提高下载效率。 首… 本文介绍了如何使用C语言和cpprestsdk库编写一个下载器程序该程序可以从www.ebay.com网站上下载图片并保存到本地文件夹中。为了避免被网站屏蔽我们使用了亿牛云爬虫代理服务提供的代理IP地址以及多线程技术提高下载效率。 首先我们需要安装cpprestsdk库这是一个跨平台的C库提供了一些方便的网络编程功能。我们可以使用vcpkg工具来安装它具体步骤如下 下载并安装vcpkg工具。在命令行中运行vcpkg install cpprestsdk命令等待安装完成。在项目中添加cpprestsdk库的引用。 其次我们需要注册亿牛云爬虫代理服务并获取域名、端口、用户名和密码。这是一个提供高质量代理IP地址的服务可以帮助我们隐藏真实的IP地址防止被网站识别和封锁。我们可以在www.16yun.cn注册并查看相关信息。然后我们需要编写一个下载器类用来封装下载图片的功能。该类的主要成员如下 一个http_client对象用来发送HTTP请求和接收HTTP响应。一个vectorstring对象用来存储要下载的图片的URL地址。一个string对象用来存储要保存图片的本地文件夹路径。一个mutex对象用来保证多线程操作的线程安全性。一个构造函数用来初始化上述成员并设置代理服务器的信息。一个download_image函数用来根据给定的图片URL地址下载图片并保存到本地文件夹中。一个download_all_images函数用来启动多个线程并调用download_image函数下载所有图片。 最后我们需要编写主函数用来创建下载器对象并调用其download_all_images函数。我们还需要在代码中添加一些异常处理和日志输出的代码以便于调试和监控程序的运行情况。 代码如下 // 引入必要的头文件 #include iostream #include string #include vector #include thread #include mutex #include cpprest/http_client.h #include cpprest/filestream.husing namespace std; using namespace web; using namespace web::http; using namespace web::http::client; using namespace concurrency::streams;// 定义下载器类 class Downloader { private:// http_client对象http_client client;// 图片URL地址列表vectorstring image_urls;// 本地文件夹路径string folder_path;// mutex对象mutex mtx;public:// 构造函数初始化成员并设置代理服务器的信息Downloader(const string url, const vectorstring urls, const string folder) : client(url), image_urls(urls), folder_path(folder) {// 置代理服务器的域名、端口、用户名和密码这里使用亿牛云爬虫代理加强版服务提供的信息你可以根据自己的需要修改web_proxy proxy(U(www.16yun.cn:9020));proxy.set_credentials(web::credentials(U(16YUN), U(16IP)));client_config config;config.set_proxy(proxy);client http_client(url, config);}// 下载图片函数根据给定的图片URL地址下载图片并保存到本地文件夹中void download_image(const string image_url) {try {// 发送GET请求获取图片的HTTP响应http_response response client.request(methods::GET, image_url).get();// 检查HTTP响应的状态码如果是200表示成功if (response.status_code() status_codes::OK) {// 获取图片的内容类型例如image/jpegstring content_type response.headers().content_type();// 获取图片的后缀名例如.jpgstring extension content_type.substr(content_type.find(/) 1);// 获取图片的文件名例如123.jpgstring file_name image_url.substr(image_url.find_last_of(/) 1) . extension;// 获取图片的本地文件路径例如C:/images/123.jpgstring file_path folder_path / file_name;// 创建一个本地文件流对象用来写入图片数据auto file_stream fstream::open_ostream(file_path).get();// 将HTTP响应的内容写入本地文件流中response.body().read_to_end(file_stream.streambuf()).get();// 关闭本地文件流对象file_stream.close().get();// 上锁防止多线程输出冲突mtx.lock();// 输出日志信息表示下载成功cout Downloaded image_url to file_path endl;// 解锁mtx.unlock();}else {// 如果HTTP响应的状态码不是200表示失败输出错误信息throw http_exception(response.status_code());}}catch (const exception e) {// 捕获并处理异常输出异常信息mtx.lock();cerr Error downloading image_url : e.what() endl;mtx.unlock();}}// 下载所有图片函数启动多个线程并调用download_image函数下载所有图片void download_all_images() {try {// 创建一个线程列表vectorthread threads;// 遍历图片URL地址列表为每个URL地址创建一个线程并调用download_image函数for (const string image_url : image_urls) {threads.push_back(thread(Downloader::download_image, this, image_url));}// 等待所有线程结束for (thread t : threads) {t.join();}// 输出日志信息表示下载完成cout Downloaded all images. endl;}catch (const exception e) {// 捕获并处理异常输出异常信息cerr Error downloading all images: e.what() endl;}} };// 主函数创建下载器对象并调用其download_all_images函数 int main() {try {// 定义要下载的网站的URL地址这里使用www.ebay.com网站作为示例你可以根据自己的需要修改string website_url http://www.ebay.com;// 定义要下载的图片的URL地址列表这里只列出了部分URL地址作为示例你可以根据自己的需要修改或添加更多的URL地址vectorstring image_urls {/img/ebay_logo.png, /img/hero_il// 定义要下载的图片的URL地址列表这里只列出了部分URL地址作为示例你可以根据自己的需要修改或添加更多的URL地址vectorstring image_urls {/img/ebay_logo.png, /img/hero_il_570xN.3130538910_8w2u.jpg, /img/il_570xN.3130538910_8w2u.jpg, /img/il_570xN.3130538910_8w2u.jpg};// 定义要保存图片的本地文件夹路径这里使用C:/images文件夹作为示例你可以根据自己的需要修改string folder_path C:/images;// 创建下载器对象传入网站URL地址图片URL地址列表和本地文件夹路径Downloader downloader(website_url, image_urls, folder_path);// 调用下载器对象的download_all_images函数开始下载所有图片downloader.download_all_images();}}本文介绍了如何使用C语言和cpprestsdk库编写一个下载器程序该程序可以从www.ebay.com网站上下载图片并保存到本地文件夹中。我们使用了亿牛云爬虫代理服务提供的代理IP地址以及多线程技术提高下载效率。这是一个简单而实用的示例可以作为学习爬虫技术的入门教程。
http://www.dnsts.com.cn/news/241527.html

相关文章:

  • 做网站着用什么软件外文网站做t检验分析
  • 广州网站建设定制哪家口碑好wordpress自定义弹窗
  • 网站文章更新wordpress 重命名
  • 如何做提卡网站一级a做爰片 网站就能看
  • 城市建设服务中心网站石家庄制作网站的公司简介
  • 网站运营维护中需要用到什么服务器wordpress加载jquery库
  • 虐做视频网站仓库管理系统er图
  • 文字游戏做的最好的网站网页图片尺寸
  • 郑州中色十二冶金建设有限公司网站网站识别手机电脑自动跳转
  • wordpress建站版本推荐谷歌推广运营
  • 如何经营自己的网站网站 功能需求
  • 现在做网站建设挣钱吗做灯笼手工简单做法
  • 安阳区号0372福州短视频seo网红
  • 做网站网站建设专业公司网站开发代码编辑器
  • 机房建设网站精美免费ppt模板下载
  • 快捷建站专家大收录量的网站怎么做
  • 网站建设 美食站点重庆seo代理价格
  • 企业建网站解决方案WordPress章节插件
  • 婚纱照网站模板网站 数据报表如何做
  • 做的网站如何被百度搜到山西省国贸网站建设
  • flash网站有哪些wordpress图片本地
  • 个人网站建设实训目的网站开发和优化关系
  • 电话销售做网站太原做推广的公司
  • 商城网站商家入驻功能移动网站开发面试题
  • 珠海网站制作案例wordpress 功能开发教程
  • 关于网站建设相关文章网站群建设方案.doc
  • 品牌授权网站南宁博信网络技术有限公司
  • 批量上传网站产品济南正规网站制作怎么选择
  • 物流网站给做软件下载济南百度seo
  • 劳务派遣做网站的好处用php做的网站论文