-
一个C# 多线程的网页异步抓取类文件代码
一个C#编写的多线程异步抓取网页的网络爬虫控制台程序类代码,这个类实现对网页URL指定内容网页的抓取,并抓取 内容中的链接、文字内容、从HTML代码中分析出链接信息等,本类中还定义了大量的私有方法,从这些私有方法中可从HTML文本中提取出一定字数的纯文本、提取网页中一定字数的纯文本,包括链接文字、提取一定数量的链接,该链接的URL满足某正则式、提取本网页的纯文本中满足某正则式的文字等。
本代码作者:大黑。
本爬虫程序的速度如下:
10线程最快大概400个链接每分钟
6-8线程最快大概200-300个链接每分钟
2-4线程最快大概150-200个链接每分钟
单线程最快大概70-100个链接每分钟
之所以用多线程异步抓取完全是出于效率考虑,本程序多线程同步并不能带来速度的提升,只要抓取的网页不要太多重复和冗余就可以,异步并不意味着错误。
- 2023-05-03 15:55:03下载
- 积分:1
-
C# 在分组查询中使用ROLLUP
C# 在分组查询中使用ROLLUP,/// /// 查询数据库信息
/// /// 方法返回DataTable对象 private DataTable GetEmployee()
{
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"server=LVSHUANGSHJ;database=db_TomeTwo;uid=sa;pwd=");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
@"SELECT 所属部门,性别, AVG(工资) AS 平均工资 FROM tb_Employee GROUP BY 所属部门,性别 WITH ROLLUP");
SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器
P_Str_SqlStr, P_Str_ConnectionStr);
DataTable P_dt = new DataTable();//创建数据表
P_SqlDataAdapter.Fill(P_dt);//填充数据表
return P_dt;//返回数据表
}
- 2022-01-25 22:57:00下载
- 积分:1
-
C# 数据分组统计(单列)
C# 数据分组统计(单列),这个测试需要连接SQLSERVER才可以,运行效果如上图所示,请下载源码包查看详细代码情况。
- 2023-08-05 06:35:03下载
- 积分:1
-
C#使用微信模拟发送post消息请求
C#模拟发送post请求,使用微信模拟消息,Post请求模拟器。
WebClient wc = new WebClient();
wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] postdata = Encoding.UTF8.GetBytes(poststr);
byte[] responseData = wc.UploadData(textBox3.Text, "POST", postdata);//得到返回字符流
textBox2.Text = Encoding.UTF8.GetString(responseData);
- 2022-11-24 04:30:03下载
- 积分:1
-
C# 热键模拟 模拟数字输入、英文输入Home键、Backspace键
C#通过窗体的按钮来模拟按下键盘上指定键的功能,比如模拟出了Shift+Home、Delete、Enter、Home、Backspace、数字输入、英文输入等键的功能,相关功能模块代码如下,可自己添加相关的模块功能键:
private void button3_Click(object sender, System.EventArgs e)
{//Backspace空格键
this.richTextBox1.Focus();
SendKeys.Send("{Backspace}");
}
private void button4_Click(object sender, System.EventArgs e)
{ //End结束键
this.richTextBox1.Focus();
SendKeys.Send("{End}");
}
private void button5_Click(object sender, System.EventArgs e)
{//Home键
this.richTextBox1.Focus();
SendKeys.Send("{Home}");
}
private void button6_Click(object sender, System.EventArgs e)
{//Enter回车键
this.richTextBox1.Focus();
SendKeys.Send("{Enter}");
}
private void button7_Click(object sender, System.EventArgs e)
{//Delete删除键
this.richTextBox1.Focus();
SendKeys.Send("{Delete}");
}
- 2022-07-19 00:15:03下载
- 积分:1
-
决战NEO服务器端源码
完整得决战NEO服务器端源码,修改一下可以自己直接使用
- 2022-12-01 18:10:07下载
- 积分:1
-
C#结合数据库使用二进制存取用户头像图片
C#结合数据库使用二进制存取用户头像图片,这个例子的功能主是把图片数据以二进制格式存储在数据库中,这样可方便数据的移植,不过图像比较占空间,会导致数据库文件会大不少。这个例子以存储用户的头像图片为例,演示如何将图片转换为二进制数据并存储在数据库中。本实例还演示了从数据库中读取数据,然后在DataGridView中显示用户名称,使用数据库中存储的二进制头像实例化内存数据流。
- 2022-03-21 01:19:34下载
- 积分:1
-
C# 利用“[^]”通配符进行查询
C# 利用“[^]”通配符进行查询
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
"SELECT 学生姓名,年龄,性别,家庭住址 FROM tb_Student");
SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器
P_Str_SqlStr, P_Str_ConnectionStr);
DataTable P_dt = new DataTable();//创建数据表
P_SqlDataAdapter.Fill(P_dt);//填充数据表
return P_dt;//返回数据表
- 2022-03-20 15:58:24下载
- 积分:1
-
libiec61850 1.3版本的库源码
libiec61850 1.3版本的库源码,有需要自己下载!!
- 2022-03-06 13:46:44下载
- 积分:1
-
C# 根据用户输入的防伪码生成随机数
C# 根据用户输入的防伪码生成随机数,测试时请输入防伪码的长度和个数(以空格来分开),请键入任意字符以结束,这个过程适时显示生成个数:{0},运行时间:{1}ms。根据指定字符生成随机数,这个在平时应用广泛,希望这个源码在生成随机数方面会给你一定参考。
- 2022-02-01 00:12:10下载
- 积分:1