资源简介
多线程爬取网络图片,直接可以运行!

代码片段和文件信息
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#解析HL7消息的库135797
- C# OCR数字识别实例,采用TessnetOcr,对
- 考试管理系统 - C#源码
- asp.net C#购物车源代码
- C#实时网络流量监听源码
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
- C#自定义控件
评论
共有 条评论