-
一个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# 动态改变控件在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# 在LINQ to XML中将XML文件转换为CSV文件的例子源码
C# 在LINQ to XML中将XML文件转换为CSV文件的例子源码,转换的结果请参考如图所示:
private void button1_Click(object sender, EventArgs e)
{//在LINQ to XML中将XML文件转换为CSV文件
TextReader MyReader = new StringReader(this.textBox1.Text);
XElement MyCustomers= XElement.Load(MyReader);
MyReader.Close();
string MyInfo =
(from MyElement in MyCustomers.Elements("客户")
select
String.Format("{0},{1},{2},{3},{4}",
(string)MyElement.Element("客户ID"),
(string)MyElement.Element("公司名称"),
(string)MyElement.Element("城市") + (string)MyElement.Element("地址"),
(string)MyElement.Element("联系人姓名"),
Environment.NewLine
)
).Take(10).Aggregate(new StringBuilder(),(MySubString, MyString)=>MySubString.Append(MyString),MySubString=>MySubString.ToString());
MessageBox.Show(MyInfo, "信息提示");
}
- 2023-04-08 15:00:04下载
- 积分:1
-
C#打造自己的智能屏幕取色工具
C#打造自己的智能屏幕取色工具,自动鼠标坐标点的颜色值,取色窗口会自动躲闪鼠标的位置,取色模块从一个继承自Image类的对象中创建Graphics对象,颜色值可以转换为十进制和十六进制,部分初始化源码如下:
[DllImport("gdi32")]
private static extern IntPtr CreateDC(
string lpszDriver, // 驱动名称
string lpszDevice, // 设备名称
string lpszOutput, // 无用,可以设定位"NULL"
IntPtr lpInitData // 任意的打印机数据
);
[DllImport("gdi32.dll")]
private static extern bool BitBlt(
IntPtr hdcDest, // 目标设备的句柄
int nXDest, // 目标对象的左上角的X坐标
int nYDest, // 目标对象的左上角的X坐标
int nWidth, // 目标对象的矩形的宽度
int nHeight, // 目标对象的矩形的长度
IntPtr hdcSrc, // 源设备的句柄
int nXSrc, // 源对象的左上角的X坐标
int nYSrc, // 源对象的左上角的X坐标
int dwRop // 光栅的操作值
- 2022-02-26 10:33:42下载
- 积分:1
-
几个C# 窗口标题栏 按钮 任务栏自定义实例
本源码主要是收集的几个C# 窗口标题栏 按钮 任务栏自定义实例,比如隐藏和显示标题栏、允许和禁止在窗口任务栏显示程序图标等,帮助C#初学者了解一些基础的C#窗口操作知识,有很好的学习参考价值。
private void button1_Click(object sender, RoutedEventArgs e)
{//隐藏标题栏
this.WindowStyle = System.Windows.WindowStyle.None;
}
private void button2_Click(object sender, RoutedEventArgs e)
{//显示标题栏
this.WindowStyle = System.Windows.WindowStyle.SingleBorderWindow;
}
private void button3_Click(object sender, RoutedEventArgs e)
{//禁止在任务栏上显示程序按钮
this.ShowInTaskbar = false;
}
private void button4_Click(object sender, RoutedEventArgs e)
{//允许在任务栏上显示程序按钮
this.ShowInTaskbar = true;
}
如下图所示,点击对应的按钮,可演示对应的功能。
- 2023-03-24 21:30:03下载
- 积分:1
-
C# 自绘式按钮的实例 源码
C# 自绘式按钮的实例源码,本例主要是以复合控件方式创建自绘式按钮,并测试了自绘式按钮响应鼠标单击事件。自绘按钮的绘制,可以参考以下代码:
//绘制新按钮
Graphics MyGraphics = e.Graphics;
Point[] MyPtsA = { new Point(0, 0), new Point(90, 0), new Point(170, 0), new Point(170, 50), new Point(170, 90), new Point(90, 90), new Point(0, 90), new Point(0, 50) };
Color[] MyColsA = { Color.White, Color.Black, Color.White, Color.Black, Color.White, Color.Black, Color.White, Color.Black };
PathGradientBrush MyPGBrushA = new PathGradientBrush(MyPtsA);
MyPGBrushA.SurroundColors = MyColsA;
MyGraphics.FillRectangle(MyPGBrushA, 0, 0, 170, 90);
String MyText = "自绘式按钮";
Font MyFont = new Font("隶书", 22);
SolidBrush MyBrush = new SolidBrush(Color.White);
PointF MyPoint = new PointF(3.0F, 30.0F);
MyGraphics.DrawString(MyText, MyFont, MyBrush, MyPoint);
- 2022-06-30 07:08:12下载
- 积分:1
-
一个C# SQL 酒店管理项目源代码
一个C# SQL 酒店管理项目源代码,包括了数据库模块和酒店管理模块,数据库在db目录下,测试前请附加。
软件 带有启动画面,功能相对完善,运行后需要登录,否则无法进入主界面。
本项目源代码基于VS2012和SQLSERVER2005,请下载和安装好相应环境,方可测试,系统登录界面如图所示。
- 2022-05-07 22:32:57下载
- 积分: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_Book");
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-06-11 17:53:03下载
- 积分:1
-
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# 使用Graphics方法生成字符串的验证码图片
C# Graphics方法生成字符串的验证码图片,在C#的程序中生成一个随机生成器 ,然后随机生成字符,然后使用Graphics方法画图片的背景噪音线 定义颜色和字体,画图片的前景噪音点,画图片的边框线等。这是个比较简单的生成验证码的方法,验证码的使用率偏高,因此作为一个C#生成验证码的初级例子,本源码有必要学习研究。
- 2022-02-26 05:51:46下载
- 积分:1