资源简介
多线程爬取网络图片,直接可以运行!
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.Regularexpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 网络爬虫
{
public class DownLoad
{
private string _rootUrl = null;//存放根URL,所输入的链接
private string _baseUrl = null;//存放处理后的根URL,所输入的链接
private string _path = null;//存放所选择保存图片的路径
private bool _stop = true;//判断是否点击停止下载
private System.Threading.Timer _checkTimer = null;//一个时间控制器,也是一个线程
private readonly object _locker = new object();//排他锁,保证请求的完整性
private int _maxTime = 2 * 60 * 1000;//请求的最大时间
private static Encoding GB18030 = Encoding.GetEncoding(“GB18030“);//编码格式,GB18030兼容GBK和GB2312
private Encoding _encoding = GB18030;
private int _index = 0;//索引标志,用于判断所下载的图片数量
private bool[] _reqsBusy = null;//判断是否是正在工作,true为正在工作
private int _reqCount = 4;//初始值,默认是四个线程工作
private WorkingUnitCollection _workingSignals;//类的对象,用于判断是否工作
private Dictionary _urlsLoaded = new Dictionary();//数据字典,用于存放未下载的链接
private Dictionary _urlsUnload = new Dictionary();//数据字典,用于存放已经下载的链接
public delegate void ContentsSavedHandler(string path string url);//定义一个委托
public event ContentsSavedHandler ContentsSaved = null;//定义一个事件,用于保存内容时触发
public delegate void DownloadFinishHandler(int count);
public event DownloadFinishHandler DownloadFinish = null;//定义一个事件,用于完成下载时触发
///
/// 定义一个类,初始化请求时所需要的属性
///
private class RequestState
{
///
/// 接收数据包的空间大小
///
private const int BUFFER_SIZE = 131072;
///
/// 接收数据包的buffer
///
private byte[] _data = new byte[BUFFER_SIZE];
///
/// 存放所有接收到的字符
///
private StringBuilder _sb = new StringBuilder();
///
/// 请求
///
public HttpWebRequest Req { get; private set; }
///
/// 请求的URL
///
public string Url { get; private set; }
///
/// 此次请求的相对深度
///
public int Depth { get; private set; }
///
/// 工作实例的编号
///
public int Index { get; private set; }
///
/// 接收数据流
///
public Stream ResStream { get; set; }
public StringBuilder Html
{
get
{
return _sb;
}
}
public byte[] Data
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 187 2016-08-17 10:59 网络爬虫\网络爬虫\App.config
文件 16361 2016-08-17 13:53 网络爬虫\网络爬虫\bin\...-1.png
文件 588427 2016-08-17 13:56 网络爬虫\网络爬虫\bin\0.txt
文件 20400 2016-08-17 13:53 网络爬虫\网络爬虫\bin\1.png
文件 23552 2016-09-30 10:20 网络爬虫\网络爬虫\bin\Debug\网络爬虫.exe
文件 187 2016-08-17 10:59 网络爬虫\网络爬虫\bin\Debug\网络爬虫.exe.config
文件 46592 2016-09-30 10:20 网络爬虫\网络爬虫\bin\Debug\网络爬虫.pdb
文件 22984 2016-09-30 10:21 网络爬虫\网络爬虫\bin\Debug\网络爬虫.vshost.exe
文件 187 2016-08-17 10:59 网络爬虫\网络爬虫\bin\Debug\网络爬虫.vshost.exe.config
文件 490 2012-06-06 02:06 网络爬虫\网络爬虫\bin\Debug\网络爬虫.vshost.exe.manifest
文件 19803 2016-09-29 19:15 网络爬虫\网络爬虫\DownLoad.cs
文件 3139 2016-09-30 10:20 网络爬虫\网络爬虫\Form1.cs
文件 6406 2016-09-30 10:20 网络爬虫\网络爬虫\Form1.Designer.cs
文件 7267 2016-09-30 10:20 网络爬虫\网络爬虫\Form1.resx
文件 1278 2016-08-26 12:24 网络爬虫\网络爬虫\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6891 2016-08-18 19:15 网络爬虫\网络爬虫\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2016-08-17 10:59 网络爬虫\网络爬虫\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2016-08-17 10:59 网络爬虫\网络爬虫\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2016-08-17 10:59 网络爬虫\网络爬虫\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 744 2016-09-30 10:21 网络爬虫\网络爬虫\obj\Debug\网络爬虫.csproj.FileListAbsolute.txt
文件 975 2016-09-30 10:20 网络爬虫\网络爬虫\obj\Debug\网络爬虫.csproj.GenerateResource.Cache
文件 2143 2016-08-17 12:04 网络爬虫\网络爬虫\obj\Debug\网络爬虫.csprojResolveAssemblyReference.cache
文件 23552 2016-09-30 10:20 网络爬虫\网络爬虫\obj\Debug\网络爬虫.exe
文件 1332 2016-09-30 10:20 网络爬虫\网络爬虫\obj\Debug\网络爬虫.Form1.resources
文件 46592 2016-09-30 10:20 网络爬虫\网络爬虫\obj\Debug\网络爬虫.pdb
文件 180 2016-08-17 13:53 网络爬虫\网络爬虫\obj\Debug\网络爬虫.Properties.Resources.resources
文件 524 2016-08-17 10:59 网络爬虫\网络爬虫\Program.cs
文件 1344 2016-08-17 10:59 网络爬虫\网络爬虫\Properties\AssemblyInfo.cs
文件 2876 2016-08-17 10:59 网络爬虫\网络爬虫\Properties\Resources.Designer.cs
文件 5612 2016-08-17 10:59 网络爬虫\网络爬虫\Properties\Resources.resx
............此处省略16个文件信息
相关资源
- C# 6.0本质论 第5版
- C# sql sever2000 asp.net图书销售管理
- 传智播客C#
- C#项目开发案例由浅入深 源代码及相
- C#多线程编程实战 真正高清完整的中
- asp.net C# 在线考试系统制作视频教程
- 零基础学C#(全彩版).pdf
- CSharpGL.zip
- c#在pictureBox控件上绘制矩形框,鼠标
- Visual C# 2012 How to Program 大学教程
- (源代码)c# 基于数据库的商品信息
- 《精通C#游戏编程》中文完整扫描版
- C#VLC视频播放器组件
- 会员管理系统源码.net C#
- Professional C# 7 and .NET Core 2.0英文原版
- NET网络高级编程.pdf
- c#+ae的各种功能实现很多很详细,渲染
- 设计模式:基于C#的工程化实现及扩展
- Visual C# 2017 从入门到精通 英文版 第
- Programming ASP.NET Core PDF 高清版加源码
- 计算机图形学.三维模型处理算法初步
- Professional C# 7 and .NET Core 2.0180299
- ASP.NET+SQL Server美食网站源码.rar
- C#程序设计基础教程与实训
- NFine快速开发框架C#源码完全开源版
- 用C#写得处理DCOM文件源码
- 车站售票管理系统
- C#三层酒店管理系统(完整源码,可根
- C#+Oracle学生信息管理系统.rar
- c# 程序加密 防止反编译
评论
共有 条评论