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

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

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

代码说明:

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

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

发表评论

0 个回复

  • C# 在程序中使用指针、十字光标、浮动窗口等不安全代
    C# 在程序中使用指针、十字光标、浮动窗口等不安全代码的实例,单击以下按钮会演示出对应功能:   在程序中显示一个浮动帮助窗口   显示等待光标   显示十字光标   对于功能实现,逐一分享源代码如下:在程序中使用指针等不安全代码:   var MyFileName = "C:atlog.txt";   var MyReader = new MyReaderClass(MyFileName);   const int MyBuffSize = 128;   byte[] MyBuffer = new byte[MyBuffSize];   ASCIIEncoding MyEncoder = new ASCIIEncoding();   var MyInfo = MyFileName + "的内容如下:";   while (MyReader.Read(MyBuffer, 0, MyBuffSize) != 0)    MyInfo += " " + MyEncoder.GetString(MyBuffer);   MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);   private void button2_Click(object sender, EventArgs e)   {//在程序中显示一个浮动帮助窗口    Help.ShowPopup(this, "提高程序开发效率、拓展软件应用领域", new Point(300, 350));   }   private void button3_Click(object sender, EventArgs e)   {//显示等待光标    this.Cursor = Cursors.WaitCursor;   }   private void button4_Click(object sender, EventArgs e)   {//显示十字光标    this.Cursor = Cursors.Cross;   }
    2023-05-20 08:40:02下载
    积分:1
  • C# 模拟实现SSH命令
    C# 模拟实现SSH命令,模拟实现LINUX相关操作,代码中包括了英文注释,代码比较完整,压缩包中还包括了例子和Bin可执行文件,演示效果如截图所示。我看到模拟程序中使用了以下的类库:DiffieHellman.dll、Org.Mentalis.Security.dll、Tamir.SharpSSH.dll。
    2022-01-26 08:34:51下载
    积分:1
  • C# 通过存储过程实现员工ID自动编号
    C# 实现自动ID,通过存储过程实现员工自动编号,这个在平时的编程中很实用,自动编号使用存储过程来实现,比较高级一些,且数据库需要支持存储过程。   con.Open();   SqlCommand cmd = new SqlCommand();   string strSql = "insert into 员工个人信息 values ( + label6.Text + , + this.textBox2.Text + , + this.textBox3.Text + , + this.textBox5.Text + , + this.textBox4.Text + )";   cmd.CommandText = strSql;   cmd.Connection = con;   cmd.ExecuteNonQuery();   con.Close();   MessageBox.Show("成功添加信息");   this.groupBox1.Enabled = false;
    2022-05-31 12:11:24下载
    积分:1
  • C# 在密钥容器中创建非对称密钥
    在密钥容器中创建非对称密钥、在密钥容器中删除非对称密钥、在密钥容器中获取非对称密钥,具体的实现代码,请参考如下代码:   private void button1_Click(object sender, EventArgs e)   {//在密钥容器中创建非对称密钥    CspParameters MyCSP = new CspParameters();    MyCSP.KeyContainerName = this.textBox2.Text;    RSACryptoServiceProvider MyRSA = new RSACryptoServiceProvider(MyCSP);    this.textBox1.Text=MyRSA.ToXmlString(true);   }   private void button2_Click(object sender, EventArgs e)   {//在密钥容器中删除非对称密钥    CspParameters MyCSP = new CspParameters();    MyCSP.KeyContainerName = this.textBox2.Text;    RSACryptoServiceProvider MyRSA = new RSACryptoServiceProvider(MyCSP);    MyRSA.PersistKeyInCsp = false;    MyRSA.Clear();    try    {    this.textBox1.Text = MyRSA.ToXmlString(true);    }    catch    {    this.textBox1.Text = "已经删除非对称密钥!";    }   }   private void button3_Click(object sender, EventArgs e)   {//在密钥容器中获取非对称密钥    CspParameters MyCSP = new CspParameters();    MyCSP.KeyContainerName = this.textB
    2022-02-06 13:18:17下载
    积分:1
  • CA ciso
    数字证书的demo程序,用于KPI建设。基于openssl实现。采用vc6.0编译。
    2022-06-28 03:32:13下载
    积分:1
  • libiec61850 1.3版本的库
    libiec61850  1.3版本的库源码,有需要自己下载!!
    2022-03-06 13:46:44下载
    积分:1
  • C# 实现Email邮件提醒器功能
    C# 实现Email邮件提醒器功能,主程序分为设置窗口、提醒窗口和托盘窗口,运行后在Windows托盘处隐藏,右键托盘图标会调用出设置窗口,如截图所示。通过设置窗口输入相关监测的Email邮件参数,比如邮件服务器地址、端口地址、用户名、密码和检测邮件的时间间隔等。如果设置正确,则目标email中若接收到新邮件,会自动弹出提醒窗口。
    2022-10-14 19:50:02下载
    积分:1
  • C# 日志事件操作相关函数集
    C# 日志事件操作相关函数集,完成的功能有:从Windows窗体播放资源中嵌入的声音、判断程序文件是否为.NET程序集、查询日志文件中指定类型事件、将日志事件信息导出到外部文件中、获取日志事件的静态和配置信息等功能。
    2022-02-15 05:43:25下载
    积分:1
  • 一个简单的C# 多线程实例
    一个简单的C# 多线程实例,创建多线程的简单实例,创建线程一和线程二,两者单独完成指定侨任务,创建多线程主要是使用C#中内置的方法new Thread()来实现,然后让每个线程执行一个for循环,来测试线程运行的效果。创建线程和运行线程的代码,可参考如下代码:   Thread thread1 = new Thread(new ThreadStart( Count));   thread1.Name="线程一";   Thread thread2 = new Thread(new ThreadStart( Count));   thread2.Name="线程二";   thread1.Start();   thread2.Start();
    2022-08-18 15:51:20下载
    积分:1
  • C# 演示希尔排序算法的实现
    C# 演示希尔排序算法的实现,在代码中定义了一个函数,完成希尔排序算法的使用,用户只需传入要排序的一维数组,程序即可输出希尔排序结果。以下是完成排序的关键代码:   //定义要排序的一维数组   int[] array = new int[] { 1, 5, 3, 6, 10, 55, 9, 2, 87, 12, 34, 75, 33, 47 };   Program.Sort(array);//调用自定义方法对数组进行排序   Console.WriteLine("排序后的数组:");   foreach (int m in array)    Console.Write("{0} ", m);//输出排序后的数组元素   Console.ReadLine();   以上代码可写入函数中,为了演示方便,将结果输出到控制台显示。
    2023-07-14 05:10:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载