登录
首页 » C#源码 » 一个C# 多线程的网页异步抓取类文件代码

一个C# 多线程的网页异步抓取类文件代码

于 2023-05-03 发布 文件大小:6.57 kB
0 230
下载积分: 2 下载次数: 1

代码说明:

一个C#编写的多线程异步抓取网页的网络爬虫控制台程序类代码,这个类实现对网页URL指定内容网页的抓取,并抓取 内容中的链接、文字内容、从HTML代码中分析出链接信息等,本类中还定义了大量的私有方法,从这些私有方法中可从HTML文本中提取出一定字数的纯文本、提取网页中一定字数的纯文本,包括链接文字、提取一定数量的链接,该链接的URL满足某正则式、提取本网页的纯文本中满足某正则式的文字等。   本代码作者:大黑。   本爬虫程序的速度如下:   10线程最快大概400个链接每分钟   6-8线程最快大概200-300个链接每分钟   2-4线程最快大概150-200个链接每分钟   单线程最快大概70-100个链接每分钟   之所以用多线程异步抓取完全是出于效率考虑,本程序多线程同步并不能带来速度的提升,只要抓取的网页不要太多重复和冗余就可以,异步并不意味着错误。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • C#在线升级程序样例
    C#在线升级程序源码样例,比较简单的写法,可以借鉴一下,很实用
    2022-09-03 21:15:03下载
    积分:1
  • C# FileInfo获取文件的各种属性
    C# 创建FileInfo对象,获取文件的各种属性,可以获取到以下的文件信息:创建时间、上次访问时间、上次写入时间、文件名称、完整目录、完整路径、是否只读、文件长度。   具体的实现过程:   textBox1.Text = openFileDialog1.FileName;   FileInfo finfo = new FileInfo(textBox1.Text); //实例化FileInfo对象   string strCTime, strLATime, strLWTime, strName, strFName, strDName, strISRead;   long lgLength;   strCTime = finfo.CreationTime.ToShortDateString(); //获取文件创建时间   strLATime = finfo.LastAccessTime.ToShortDateString(); //获取上次访问该文件的时间   strLWTime = finfo.LastWriteTime.ToShortDateString(); //获取上次写入文件的时间   strName = finfo.Name; //获取文件名称   strFName = finfo.FullName;//获取文件的完整目录   strDName = finfo.DirectoryName;//获取文件的完整路径   strISRead = finfo.IsReadOnly.ToString(); //获取文件是否只读   lgLength = finfo.Length; //获取文件长度   MessageBox.Show("文件信息: 创建时间:" + strCTime + " 上次访问时间:" + strLATime + " 上次写入时间:" + strLWTime + " 文件名称:" + strName + " 完整目录:" + strFName + " 完整路径:" + strDName + " 是否只读:" + strISRead + " 文件长度:" + lgLength);   以上代码段请写入一个按钮事件中,这样当用户单击按钮时,执行上述代码。
    2023-02-14 12:35:03下载
    积分:1
  • C# 为WPF应用程序设置渐变的背景颜色的实例
    C# 为WPF应用程序设置渐变的背景颜色的源码实例,窗口打开后,单击按钮,即可把窗口的背景色设置成渐变色,来看如下代码:private void button1_Click(object sender, RoutedEventArgs e)   {//为WPF应用程序设置渐变的背景颜色(文件名称:Window1.xaml.cs)    this.Background = (Brush)TryFindResource("MyGradientBackground");   }
    2023-05-10 22:40:03下载
    积分:1
  • Visual C#对 XML操作的演示示例集
    这是一个C#操作XML文件的示例集,可完成 如下功能演示:   枚举XML集合中的元素名称   枚举XML集合中的元素文本   判断XML元素在集合中是否存在   筛选XML中的子代元素集合   使用链接轴方法枚举XML元素   根据元素属性查找XML元素   根据元素名称查找XML元素   根据元素属性和名称查找XML元素   根据中间计算值查找XML元素   比如枚举XML集合中的元素文本:private void button2_Click(object sender, EventArgs e)   {//枚举XML集合中的元素文本    XElement MyXElements = new XElement("Root",    new XElement("贵州省", "贵阳市"),    new XElement("四川省", "成都市"));    IEnumerable MyXElement =    from MySelect in MyXElements.Elements()    select MySelect;    string MyInfo = "元素文本包括:";    foreach (XElement MyValue in MyXElement)    MyInfo += MyValue.Value + "、";    //显示:贵阳市、成都市    MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK);   }
    2022-03-14 22:11:51下载
    积分:1
  • C#制作闪烁的按钮特效
    C#制作闪烁的按钮特效,打开本程序,运行后窗口上的按钮快速闪烁,可起到吸引人注意的效果,实现方法基于WPF的编程概念。运行效果如演示截图所示。注意:不是窗口闪烁,是窗口内的按钮闪烁哦。
    2022-10-31 16:30:02下载
    积分:1
  • C++版连连看代VS2008
    一个C++用VB2008编写的游戏程序,测试通过,非常适合初学者,还有成系列的学习视频。值得学习,值得学习。
    2022-08-19 02:11:43下载
    积分:1
  • C# 拖动分页功能实例
    C# 拖动分页功能实例,拖动窗口右下角的滑块,即可实现分页功能,字体会变大,和拖动改变字体大小有点相似。
    2022-08-19 21:12:20下载
    积分:1
  • 邻家小厨网上订餐系统
    邻家小厨网上订餐系统源码 源码描述: 这是一个基于三层架构的网上在线订餐网站主要实现了一下功能 一、后台 1、网站管理 2、美食管理 主要包括查询美食、增加美食 3、用户管理 主要包括添加管理员、查询管理员、会员 4、订单管理 主要包括了查询订单的功能以及没有付款的订单 二、前台 用户可以登陆查询美食进行订购、加入购物车,并计算金额、然后可以支付费用 默认管理员登录名密码均为51aspx     DB_51aspx    目录下是数据库文件,直接附加即可,数据库配置文件在web.config中设置 运行环境:vs2010+sql2005
    2022-03-09 22:09:14下载
    积分:1
  • C# 编写多种窗口排列方式的MDIForm窗体
    C# 实现MDIForm窗体功能,代码中实现了3个MDI子窗口,并以水平平铺、垂直平铺、层叠排列的方式实现多种子窗口的排列布局,其主要代码在form1.cs中,其它文件为生成子窗口的文件,关键代码如下:   private void toolStripMenuItem1_Click(object sender, EventArgs e)   {    Form2 frm2 = new Form2();//实例化Form2    frm2.MdiParent = this;//设置MdiParent属性,将当前窗体作为父窗体    frm2.Show();//使用Show方法打开窗体    Form3 frm3 = new Form3();//实例化Form3    frm3.MdiParent = this;//设置MdiParent属性,将当前窗体作为父窗体    frm3.Show();//使用Show方法打开窗体    Form4 frm4 = new Form4();//实例化Form4    frm4.MdiParent = this;//设置MdiParent属性,将当前窗体作为父窗体    frm4.Show();//使用Show方法打开窗体   }   private void 水平平铺ToolStripMenuItem_Click(object sender, EventArgs e)   {    LayoutMdi(MdiLayout.TileHorizontal);//使用MdiLayout枚举实现水平平铺   }   private void 垂直平铺ToolStripMenuItem_Click(object sender, EventArgs e)   {    LayoutMdi(MdiLayout.TileVertical);//使用MdiLayout枚举实现垂直平铺   }   private void 层叠排列ToolStripMenuItem_Click(object sender, EventArgs e)   {    LayoutMdi(MdiLayout.Cascade);//使用MdiLayout枚举实现层叠排列   }
    2022-03-07 15:00:14下载
    积分:1
  • C#检查CheckBox控件是否被选中
    C#检查CheckBox复选框控件是否被选中,或者说是判断用户是否单击了checkbox按钮,可用于用户输入界面中,本示例提供了完整的复选框判断机制,有需要的可参考以下代码:   private void checkBox1_Click(object sender, EventArgs e)   {    if (checkBox1.CheckState == CheckState.Checked)    {    MessageBox.Show("CheckBox控件被选中");    }    else    {    MessageBox.Show("CheckBox控件选择被取消");    }   }
    2022-09-15 05:45:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载