-
一个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# 获取客户表中指定城市的客户
C# 获取客户表中指定城市的客户,这是一个C# SQLSERVER结合的数据检索程序实例,用来查询满足指定条件的数据库数据,并显示出来。来看代码如下:
//获取客户表中指定城市的客户(使用存储过程返回行集合):
string MyCity = "London";
DataClasses1DataContext MyDataContext = new DataClasses1DataContext();
System.Data.Linq.ISingleResult MyRows = MyDataContext.MyCustomersByCity(MyCity);
string MyInfo = MyCity+"的客户包括:";
foreach (MyCustomersByCity_个结果 MyCustomer in MyRows)
{
MyInfo+="
客户ID:"+MyCustomer.CustomerID;
}
MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK);
- 2022-07-11 07:44:24下载
- 积分:1
-
C# DataGridView初级操作范例
这是一个C# DataGridView初级操作范例,演示了连接数据库、读取数据库、移动数据库指针到下一条、上一条记录的操作,以及将数据绑定到DataGridView控件中显示的整个过程,比较基础级的C#源码,因此希望新手参考:
private void shippersDataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e)
{//如果错误发生在提交操作过程中,则在 MessageBox 中显示该错误
if (e.Exception != null && e.Context == DataGridViewDataErrorContexts.Commit)
{//测试时在Phone列中输入一个超长的字符串
MessageBox.Show(e.Exception.Message, "信息提示", MessageBoxButtons.OK);
}
}
- 2022-01-22 02:28:43下载
- 积分:1
-
C# SQL语句查询指定区间内的数据库内容
C# 查询数据库信息,具体到本例中,是查询第10到第20名的数据,这在平时的数据库运用中,十分实用,比如查询指定区间内的成绩、销售业绩等,将查询出的数据给予一定的等级,本程序查询到的数据将返回DataTable对象:
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
@"SELECT TOP 10 * FROM (SELECT TOP 20 * FROM tb_Grade ORDER BY 总分 DESC) AS st ORDER BY 总分 ASC");
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-11-06 22:25:03下载
- 积分:1
-
C# 获取当前时区的标准时区名称
C# 获取当前时区的标准时区名称:private void button1_Click(object sender, EventArgs e)
{//获取当前时区的标准时区名称
var MyInfo="当前时区的标准名称是:";
if(TimeZone.CurrentTimeZone.IsDaylightSavingTime(DateTime.Now))
MyInfo+= TimeZone.CurrentTimeZone.DaylightName;
else
MyInfo+= TimeZone.CurrentTimeZone.StandardName;
MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK);
}
- 2022-04-27 18:00:04下载
- 积分:1
-
C# 动态改变控件在Grid单元格中的位置
c# 动态改变控件在Grid单元格中的位置:
private void button1_Click(object sender, RoutedEventArgs e)
{//动态改变控件在Grid单元格中的位置
if (bOldPos)
{
Grid.SetRow(this.image1, 1);
Grid.SetColumn(this.image1, 2);
this.bOldPos = false;
}
else
{
Grid.SetRow(this.image1, 0);
Grid.SetColumn(this.image1, 0);
this.bOldPos = true;
}
}
- 2022-02-07 14:02:16下载
- 积分:1
-
C# 显示选择的DataGridView单元格行数据
C# 显示选择的DataGridView单元格行数据附实现源码,连接数据库后,单击上部的“显示选择的单元格行”功能,即可显示出该行数据,具体的实现代码如下:
private void toolStripButton1_Click(object sender, EventArgs e)
{//显示选择的单元格行(获取DataGridView控件中选定的单元格行)
Int32 MyCount =customersDataGridView.Rows.GetRowCount(DataGridViewElementStates.Selected);
if (MyCount > 0)
{
System.Text.StringBuilder MyInfo = new System.Text.StringBuilder();
for (int i = 0; i < MyCount; i++)
{
MyInfo.Append("被选择的行号是: ");
MyInfo.Append(customersDataGridView.SelectedRows[i].Index.ToString());
MyInfo.Append(Environment.NewLine);
}
MyInfo.Append("一共选择了: " + MyCount.ToString()+"行。");
MessageBox.Show(MyInfo.ToString(), "信息提示",MessageBoxButtons.OK);
}
}
- 2022-12-31 00:55:04下载
- 积分:1
-
C# WPF设置图片做为程序窗口背景
C# WPF设置程序窗口背景图片的例子,调用外部一张图片,作为程序窗口的背景,这是一个挺基础的C#窗口设计制作小例子。本程序通过定义BitmapImage和ImageBrush()来实现,有兴趣的参见以下几行代码:
设置WPF程序的背景图像代码如下:
var MyImage = new BitmapImage(new Uri("J001.jpg", UriKind.Relative));
var MyBrush = new ImageBrush();
MyBrush.ImageSource = MyImage;
this.Background = MyBrush;
本例的运行效果请参见下图示。
- 2022-02-28 22:19:19下载
- 积分:1
-
C# wpf 创建简单形状动画的例子
C# wpf 创建简单形状动画的例子,启动动画、停止动画、暂停动画、继续动画、加速动画。创建动画
Rectangle MyRectangle = new Rectangle();
MyRectangle.Width = 50;
MyRectangle.Height = 20;
MyRectangle.Margin = new Thickness(10, 50, 0, 0);
MyRectangle.Fill = new LinearGradientBrush(
Color.FromArgb(255, 0, 255, 255), Color.FromArgb(255, 0, 0, 255), 0);
MyRectangle.HorizontalAlignment = HorizontalAlignment.Left;
this.canvas1.Children.Add(MyRectangle);
this.RegisterName("MyRectangle", MyRectangle);
DoubleAnimation MyAnimation =
new DoubleAnimation(100, 380, new Duration(TimeSpan.FromSeconds(5)));
Storyboard.SetTargetName(MyAnimation, "MyRectangle");
Storyboard.SetTargetProperty(MyAnimation,
new PropertyPath(Rectangle.WidthProperty));
MyStoryboard = new Storyboard();
MyStoryboard.Children.Add(MyAnimation);
动画效果请参见下图所示,源代码请单击下载按钮下载。
- 2022-08-25 13:04:57下载
- 积分:1
-
C#SQL 版人事工资管理系统 源代码
C#版人事工资管理系统 源代码,比较综合的一个系统,是一本C#应用编程中的一个范例,对C#编程有很好的借鉴参考意义。这套人事工资管理系统可以进行档案管理、奖罚管理和工资管理等,另外还可以通过水晶报表对工资信息进行打樱
管理员用户名为tsoft,密码为111。
(2)本系统有两种操作权限,一种是超级管理员,一种是一般用户,超级管理员具有所有权限,普通用户则不可以执行系统管理及操作员管理操作。
关于系统的使用,请参见源码包中的使用说明。
- 2022-06-26 22:25:29下载
- 积分:1