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

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

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

代码说明:

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

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

发表评论

0 个回复

  • C# 使用代查找资词典中的资
    C# 使用代码查找资源词典中的资源,单击按钮,窗体中会出现一张图片,没搞懂本示例是想要演示什么功能,有兴趣的自己下载源码查看。这里帖一下几行关键代码:   private void button1_Click(object sender, RoutedEventArgs e)   {//使用代码查找资源词典中的资源    Image MyImage = (Image)this.FindResource("MyImage");    this.image1.Source = MyImage.Source;   }
    2022-09-07 18:30:03下载
    积分:1
  • C# 电话客服系统范例+文档
    C# 电话客服系统源代码范例+文档,含 有语音文件,支持语音通话的客服系统,本电话客服系统有以下几个特点:   1.客户在拨打企业电话客服时,系统会自动接收、识别并记录来电的主叫号码并显示相应的客户信息。   2.客户电话打入时系统自动播放已设定好的欢迎词。   3.用户在拨打企业电话客服后,系统会进行自动语音引导,客户通过按键选择,从而可以听到预先设置好的语音咨讯,如企业简介、信息、最新产品等……。所有咨讯信息通过按键即可获得。   4.外线电话转接到座席电话功能,使来电者可以根据系统提示,转入人工服务,与座席人员直接进行交流。   5.座席电话转接到座席电话功能。   默认的系统管理员用户名为:Tsoft,密码为:111。   调试注意:本程序需要硬件支持,需要安装东进DJD 161A语音卡及驱动程序,否则运行程序出错。
    2022-01-26 02:31:41下载
    积分:1
  • C# 复制粘贴等剪切板操作一例
    C# 复制粘贴等剪切板操作一例,存放剪贴板循环的内容,复制文本到系统剪贴板,粘贴前弹出确认对话框:"剪贴板中的数据不是本程序复制的数据,是否粘贴?"   本程序还可以 直接打开TXT文件,将文字内容显示在窗口的文本框中。
    2023-04-16 19:35:02下载
    积分:1
  • c# 关闭窗口前确认 弹出提示
    与大家分享一个C#窗口编程小技巧,在用户关闭窗口前,弹出确认对话框,可有效防止用户误操作,误关闭窗口。本源码中是完整的实例下载 ,有基础的可参考以下的代码,快速实现本功能:   C#弹出关闭窗口的确认对话框,核心代码如下:   private void Form1_FormClosing(object sender, FormClosingEventArgs e)   {    DialogResult dr = MessageBox.Show("是否关闭窗体", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);    if (dr == DialogResult.Yes) //使用if语句判断是否单击“是”按钮    {    e.Cancel = false;//如果单击“是”按钮则关闭窗体    }    else//否则    {    e.Cancel = true;//不执行操作    }   }   当用户单击窗口右上角关闭按钮时,激活函数中的命令,弹出确认框。
    2022-01-25 15:52:19下载
    积分:1
  • C#将listBox值添加到Textbox控件中
    C#将listBox值添加到Textbox控件中,在Listbox中输入任意内容,单击添加按钮即可将此内容添加到Textbox文本框中显示,同时还将值从ListBox中移除:   添加值:   listBox1.Items.Add(textBox1.Text);   textBox1.Text = "";   将值从listBox移除:   listBox1.Items.Remove(listBox1.SelectedItem);
    2022-06-15 11:46:02下载
    积分:1
  • C# 使用互斥量禁止程序运行两个实例
    C# 使用互斥量禁止程序运行两个实例,这个主要是根据开发的程序使用环境决定,有时候一个程序运行多个副本,会浪费系统资源造成不稳定,但有人说这样会让软件使用更方便,以下代码是不让程序运行多个实例副本,关键代码如下所示:   private void Form1_Load(object sender, EventArgs e)   {//使用互斥量禁止程序运行两个实例    bool bExist;    var MyMutex =new System.Threading.Mutex(true, "OnlyOneTime", out bExist);    if (bExist)    MyMutex.ReleaseMutex();    else    {    MessageBox.Show("程序已经运行!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);    this.Close();    }   }
    2022-03-24 02:20:34下载
    积分:1
  • C# 设置IE地址栏的自动完成功能
    C# 设置IE地址栏的自动完成功能,就是用户输入的时候,会下拉提示出相关的内容,可提升用户体验,现在使用已经很广泛了,本例子中的这一自动完成功能,代码如下:   private void button1_Click(object sender, EventArgs e)   {    //创建或者打开指定的注册表项    RegistryKey rgK =Registry.CurrentUser.CreateSubKey(@"SoftwareMicrosoftWindowsCurrentVersionExplorerAutoComplete");    rgK.SetValue("AutoSuggest", "yes", RegistryValueKind.String);//设置IE地址栏的自动完成功能    MessageBox.Show("设置成功!");   }   private void button2_Click(object sender, EventArgs e)   {    //创建或者打开指定的注册表项    RegistryKey rgK =Registry.CurrentUser.CreateSubKey(@"SoftwareMicrosoftWindowsCurrentVersionExplorerAutoComplete");    rgK.SetValue("AutoSuggest", "no", RegistryValueKind.String);//取消IE地址栏的自动完成功能    MessageBox.Show("取消成功!");   }
    2022-12-03 17:35:03下载
    积分:1
  • C# 复制和删除数据表指定行数据
    C# 复制和删除数据表指定行数据,主要是完成了两项功能,删除目标数据表的选择行的整行数据,将源数据表的选择行数据复制到目标数据表,这两个功能的实现思路和代码演示如下:   private void Form1_Load(object sender, EventArgs e)   {    MySourceTable = new DataTable();    var MyConnectString=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:Northwind.mdb";    var MySQL = "Select * From 客户";    var MyAdapter=new OleDbDataAdapter(MySQL,MyConnectString);    MyAdapter.Fill(MySourceTable);    this.DataGridView1.DataSource = MySourceTable;    MyTargetTable = MySourceTable.Clone();    this.DataGridView2.DataSource = MyTargetTable;   }   private void Button1_Click(object sender, EventArgs e)   {//将源数据表的选择行数据复制到目标数据表    var MyID= "客户ID=;    MyID = MyID + this.DataGridView1.CurrentRow.Cells[0].Value.ToString() +";    MyTargetTable.ImportRow(this.MySourceTable.Select(MyID)[0]);   }   private void Button2_Click(object sender, EventArgs e)   {//删除目标数据表的选择行的整行数据    var MyID = "客户ID=;    MyID = MyID +this.DataGridView2.CurrentRow.Cells[0].Value.ToString
    2022-04-17 22:21:45下载
    积分:1
  • C# 清除IE地址栏中的历史网址(修改注册表)
    C# 清除IE地址栏中的历史网址,也就是历史记录,这些记录都是平时自己输入的,IE会自动保存,本程序会把保存的这些网址信息全部删除了,主要是删除注册表中对应键值下的URL子键:   RegistryKey rkBase = Registry.CurrentUser;//定位到CurrentUser注册表项   //打开指定的注册表项   RegistryKey rkChild = rkBase.OpenSubKey(@"SoftwareMicrosoftInternet ExplorerTypedURLs",true);   String[] strValueNames = rkChild.GetValueNames();//获取所有的历史网址   foreach (string strItem in strValueNames)//遍历获取到的历史网址   {    rkChild.DeleteValue(strItem);//删除遍历到的历史网址   }
    2022-11-06 13:05:04下载
    积分:1
  • C# 2015 在按钮中调用出下拉菜单的
    C# 2015 在按钮中调用出下拉菜单的源码,在按钮中显示一个下拉菜单的小三角,用户单击这个小三角即可显示出下拉菜单,这种用法之前也有不少,但有些新手不知道如何实现,希望通过这个简单的例子源码,你会学习到一些相关的知识技巧,制作出按钮下拉菜单的风格来。
    2023-02-15 19:40:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载