首页 > 其他分享 >利用HtmlAgilityPack库采集美图秀秀图片

利用HtmlAgilityPack库采集美图秀秀图片

时间:2023-11-03 17:03:43浏览次数:23  
标签:string request imageUrl HtmlAgilityPack imageBytes 采集 代理服务器 美图秀 图片

利用HtmlAgilityPack库采集美图秀秀图片_代理服务器

上次有个美女跟我说美图秀秀官网的图片都好漂亮,既然美女都开口了,我能说什么呢?于是,我就用HtmlAgilityPack库写了一个C#爬虫程序,专门来采集美图秀秀的图片,看着网站挺复杂,不过这个爬虫写起来倒是一点也不难,这就给大家分享。

```csharp
using System;
using System.Net;
using HtmlAgilityPack;
class Program
{
static void Main(string[] args)
{
// 创建一个WebClient对象,设置代理服务器
WebRequest request = WebRequest.Create("https://xiuxiu.meitu.com/");
request.Proxy = new WebProxy("https://www.duoip.cn/get_proxy", 8000);
request.UseDefaultCredentials = true;
WebResponse response = request.GetResponse();
// 创建一个HtmlDocument对象,解析网页
HtmlDocument doc = new HtmlDocument();
doc.Load(response.GetResponseStream());
// 获取所有图片的链接
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//img[@src]");
foreach (HtmlNode node in nodes)
{
string imageUrl = node.Attributes["src"].Value;
// 使用代理服务器下载图片
byte[] imageBytes = DownloadImage(imageUrl);
// 将图片保存到本地
SaveImage(imageBytes, imageUrl);
}
}
// 使用代理服务器下载图片
static byte[] DownloadImage(string imageUrl)
{
WebRequest request = WebRequest.Create(imageUrl);
request.Proxy = new WebProxy("https://www.duoip.cn/get_proxy", 8000);
request.UseDefaultCredentials = true;
WebResponse response = request.GetResponse();
return response.GetResponseStream().ReadBytes();
}
// 将图片保存到本地
static void SaveImage(byte[] imageBytes, string imageUrl)
{
// 创建一个FileStream对象,用于写入文件
using (FileStream fs = new FileStream(imageUrl, FileMode.Create, FileAccess.Write))
{
// 将图片数据写入文件
fs.Write(imageBytes, 0, imageBytes.Length);
}
}
}
```

以上代码首先使用WebClient对象创建一个HTTP请求,并设置代理服务器。然后,使用HtmlAgilityPack库解析网页,并获取所有图片的链接。对于每个图片链接,下载并保存到本地。需要注意的是,这个程序只能下载网页上的图片,不能爬取网页上的其他内容。如果需要爬取整个网页的内容,需要修改代码以适应不同的需求。同时,程序的性能和稳定性,需要根据实际情况进行调整。

标签:string,request,imageUrl,HtmlAgilityPack,imageBytes,采集,代理服务器,美图秀,图片
From: https://blog.51cto.com/u_14448891/8172880

相关文章

  • 如何使用Poco库采集阿里云信息
    阿里云是一个云主机平台,我们在购买云主机的时候,往往会因为挑选自己心意的产品而眼花缭乱。今天我就使用Poco库编写一个采集阿里云信息的程序,有了它,我们在挑选阿里云产品你轻松了许多,一起来看看吧。```cpp//引入Poco库#include<Poco/Net/HTTPClientSession.h>#include<Po......
  • 振弦采集读数模块如何连接设备
    振弦采集读数模块如何连接设备振弦采集读数模块是一种可以用来监测物体振动情况的设备,可以应用在机器运转状态监测、结构健康监测、地震测量等领域。它主要通过传感器对物体的振动进行监测,并将监测到的数据输出到计算机或其他设备上,以便进行分析和判断。 要使用振弦采集读数......
  • AirSim 自动驾驶仿真 (6) 设置采集参数和属性
    https://cloud.tencent.com/developer/article/20113841.配置文件在哪默认情况下,文件位于用户目录下的AirSim文件夹,比如在Windows下,文件位于C:\Users\admin\Documents\AirSim,如下。C:\Users\dongdong\Documents\AirSim  2.配置文件长什么样打开配置文件可以看到,这是一......
  • 通过tide库如何使用Rust语言采集汽车之家
    身边许多有车的朋友,在日常用车养车过程中,经常会碰到这样那样的问题,很多人都喜欢去汽车之家寻求帮助。那么今天,我将为大家带来的是使用tide库来编写的一个爬虫程序,并使用Rust语言来采集汽车之家的相关内容,不是特别难,有需要的朋友可以看看学习一下喔。```rustusetide::{Request,Re......
  • Go语言和net库结合,轻松搞定喜马拉雅视频采集
    昨天一个小哥问我,能不能用Go语言和net库编写一个采集喜马拉雅视频的采集程序,因为网站上有太多他需要的学习资源,所以来找我帮忙。我大概看了下网站策略,这个爬虫写起来不是特别难,现在就给大家简单分享一下。```gopackagemainimport("fmt""io/ioutil""net/http""net/url""str......
  • 如何通过HWebkit库配合Haskell语言采集链家图片
    链家是一个专业提供二手房源、楼盘等信息的网站,需要二手房的朋友,链家可是个首选的资源平台。今天我们将使用HWebkit库编写一个爬虫程序,然后使用Haskell语言来采集链家平台的相关图片,快来学习一下吧。```haskellimportNetwork.HTTP.Webkit--定义代理主机和端口proxyHost::Str......
  • 简单使用C语言通过Microhttpd库采集淘宝
    前段时间给大家分享过不少采集淘宝相关内容的方法,昨天有个朋友让我来帮他用C语言编写一个采集淘宝的爬虫程序,并且还要通过Microhttpd库来实现。这一点都难不倒我,下面我就将我的代码示例给大家分享一下,有需要的朋友赶紧来取。```c#include#include#include#include#defineHTTP......
  • 怎样使用Go语言+NET库搞定饿了么采集
    饿了么是一个集在线外卖、新零售、即时配送和餐饮供应链等业务的一个平台,也是我们日常中使用比较多的一个平台。每次点外卖的时候,那么多的商家,我们要比对价格、看评价,看看到底怎么点餐比较划算,这是一个Go语言的爬虫程序,所以今天,我就使用net库来实现对饿了么内容的采集,方便我们每次......
  • 如何使用Haskell语言和tagsoup库相结合采集同花顺财经相关视频
    今天要给大家带来的是一个使用Haskell语言和tagsoup库相结合的爬虫程序,主要是用来采集同花顺财经上的相关视频。前段时间一个粉丝跟我要了好久,由于太忙了,一直拖到现在。正好给大家分享一下,一起学习交流。```haskellimportNetwork.HTTPimportText.HTML.TagSoup--定义一......
  • Intrepid—总线采集测试仿真工具
    产品概述    VehicleSpy是英特佩斯推出的简单易用的高性价比总线工具,包含分析软件和采集调试硬件,具备对各类总线数据的网络监控、诊断、总线分析、数据采集、节点仿真、自动化测试等功能,目前支持的总线类型包含CAN、CANFD、LIN、FlexRay、车载以太网等各类总线格式。 ......