-
一个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# 注册表浏览器-仿Windows
C# 注册表浏览器源码,代码中一些注册表的操作很有实用价值,比如判断node代表的注册键属于哪一个根键,去掉前头的“我的电脑”,如果不是根键,找出路径,取得注册键对象,取得节点所代表的键,取得某一键值所有子键的名称,把所有子键名加入TreeView中,编译运行后,还真挺像windows自身的注册表编辑器,通过这个程序,你可以浏览系统注册表中的各个节点、键值等信息。
- 2022-03-13 01:12:07下载
- 积分: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
-
C# 实现窗体控件值与数据库字段绑定
C# 实现窗体控件值与数据库字段绑定,DataBinding的用法例子,基本的数据库操作示例,学习MyAdapter、SqlDataAdapter、DataBindings、BindingContext等的用法,测试例子如上图所示。
- 2022-03-18 00:24:48下载
- 积分:1
-
C# 在LINQ to DataSet中对分组操作执行子查询
C# 在LINQ to DataSet中对分组操作执行子查询,相关代码:
private void button1_Click(object sender, EventArgs e)
{//在LINQ to DataSet中对分组操作执行子查询
SqlConnection MyConnection = new SqlConnection();
MyConnection.ConnectionString = @"Data Source =.SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";
MyConnection.Open();
SqlCommand MyCommand = new SqlCommand("Select * From Orders ", MyConnection);
DataSet MySet = new DataSet();
SqlDataAdapter MyAdapter = new SqlDataAdapter(MyCommand);
MyAdapter.Fill(MySet);
DataTable MyQueryTable = MySet.Tables[0];
var MyQuery = from MyOrder in MyQueryTable.AsEnumerable()
orderby MyOrder.Field("ShipCity")
group MyOrder by MyOrder.Field("ShipCity") into g
select new
{
MyCity = g.Key,
MyMaxFreight = (from MyData in g select MyData.Field("Freight")).Max()
- 2022-01-27 20:20:32下载
- 积分:1
-
C#制作的WPF立体动画简单实例
C#制作的WPF立体动画简单实例,像是一个太阳能电池版样子的立体动画,改变角度,是一个相当基础的WPF动画制作实例,运行效果请参见截图所示。
- 2023-09-04 01:05:03下载
- 积分:1
-
C# 模拟Windows CMD Ping命令
C# 模拟Windows CMD Ping命令,这个Ping和Windows中的控制台Ping命令几乎一样,如果用户没有输入任何参数则给出提示,初始化一个ICMP类型的Socket,用户提供了主机名和循环参数(开关,“/r”),调用 PingHost 方法并将主机名作为参数传递给它,如果用户还提供了其他的参数则忽略,取得报文内容,转化为字节数组,然后计算报文的长度。
在校验和算法方面,把ICMP报头二进制数据以2字节为单位累加起来,若ICMP报头为奇数个字节,会剩下最后一字节。把最后一个字节视为一个2字节数据的高字节,这个2字节数据的低字节为0,继续累加。。
- 2023-05-08 16:20:03下载
- 积分: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# 拖动分页功能实例
C# 拖动分页功能实例,拖动窗口右下角的滑块,即可实现分页功能,字体会变大,和拖动改变字体大小有点相似。
- 2022-08-19 21:12:20下载
- 积分:1
-
C# 笔触画图 打开和保存ink墨迹文件
C# 笔触画图 打开和保存ink墨迹文件的实例,本程序主要是演示用C#打开ink格式的文件,并且进行文件编辑,或者画图新建保存为ink文件,打开墨迹文件后,可选择右侧列表的墨迹颜色,绘制图案,然后保存到ink文件中。
- 2023-07-05 03:25:03下载
- 积分:1