登录
首页 » C#源码 » Visual C# 多线程异步抓取网页 网络爬虫控制台程序模拟

Visual C# 多线程异步抓取网页 网络爬虫控制台程序模拟

于 2022-05-18 发布 文件大小:56.31 kB
0 221
下载积分: 2 下载次数: 1

代码说明:

Visual C# 多线程异步抓取网页 网络爬虫控制台程序模拟,程序中定义了一个网页类爬虫程序,通过此程序可获得本网页的网址、网页标题、网页的所有链接信息,只读方式,并且返回网页的全部纯文本信息,获得本网页的大小,从HTML代码中分析出链接信息,从一段HTML文本中提取出一定字数的纯文本,提取网页中一定字数的纯文本,包括链接文字,从本网页的链接中提取一定数量的链接,该链接的URL满足某正则式,从本网页的链接中提取一定数量的链接,该链接的文字满足某正则式等等。

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

发表评论

0 个回复

  • C#演示如何正确关闭程序
    C#演示如何正确关闭程序,这是一个Wpf窗体实例,演示WPF窗口如何才是正确的关闭方法。   其实下边这句话最重要:   正确关闭程序的方法:App.Current.Shutdown();   具体的代码写法如下:   //文件名称:Window1.xaml.cs   private void button1_Click(object sender, RoutedEventArgs e)   {//正确关闭程序    App.Current.Shutdown();   }
    2023-04-28 12:25:02下载
    积分:1
  • 一个圆形的C# 时钟实例
    一个圆形的C# 时钟实例,圆形的中心调用外部的一张唐老鸭图片,各个指针在程序打开后自动初始化,获取windows时间并初始化各指针的位置,并随时间开始走动,在拖动窗口时,指针圆盘会自动变大,实际上这是一个Bug,因为随窗体变化会让哥特和指针脱离原来的位置,造成失真,在时间初始化方面,参见以下代码。   private void timer1_Tick(object sender, System.EventArgs e)   {    MySecondHand.Transform(DateTime.Now);    MyHourHand.Transform(DateTime.Now);    MyMinuteHand.Transform(DateTime.Now);    FirstTick = true;    Invalidate();   }   更多源代码,请下载本实例,运行效果请参见运行截图。
    2022-03-03 15:59:32下载
    积分:1
  • C# 利用聚合函数MIN求销售额、利润最少的商品
    C# 利用聚合函数MIN求销售额、利润最少的商品,具体来说是查询利润最少的商品信息,查询销售额最少的商品信息,查询结果将绑定显示于DataGridView数据网格控件中。   下面以查询销售额最少的商品信息为例,帖出具体的代码实现:   private DataTable GetMoney()   {    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_Ware WHERE 销价 IN(SELECT MIN(销价) FROM tb_Ware)");    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-07-25 21:11:39下载
    积分:1
  • C# WPF 功能打印的示例
    C# WPF 功能打印的示例,加载内容后,可在本程序中直接打印出XAML文档。   private void button2_Click(object sender, RoutedEventArgs e)   {//打印文件    PrintDialog MyDialog = new PrintDialog();    if ((MyDialog.ShowDialog() == true))    {    MyDialog.PrintVisual(this.richTextBox1 as Visual, "我的XAML打印文档");    }   }   private void button3_Click(object sender, RoutedEventArgs e)   {//保存文件    string MyFileName = "MyFile.XAML";    TextRange MyTextRange;    System.IO.FileStream MyStream;    MyTextRange = new TextRange(this.richTextBox1.Document.ContentStart, this.richTextBox1.Document.ContentEnd);    MyStream = new System.IO.FileStream(MyFileName, System.IO.FileMode.Create);    MyTextRange.Save(MyStream, DataFormats.XamlPackage);    MyStream.Close();   }
    2022-01-23 10:57:00下载
    积分:1
  • C#多个读写文本文件的方法含示例
    C#多个读写文本文件的方法含示例,比如"以文本行为单位写文本文件、以文本行为单位读文本文件、一次性向文本文件写入数据、一次性从文本文件读取数据、一次性向文本文件追加数据。
    2022-05-12 17:08:46下载
    积分:1
  • C#开发的SQL数据库存储过程生成器附源码
    C#开发的SQL数据库存储过程生成器附源码,是由VS开发的一款代码生成器,名字叫做“SocanCode”,程序作者:廖勇军。主要是生成数据库的存储过程,打开窗口后,在左侧的窗格可新建存储过程,按照程序的导航一步步建立存储过程,最后生成存储过程代码。   SocanCode存储代码生成器,目前已经全部开源,除了生成存储过程代码外,这个程序还有一些其它的小工具,比如HTML转JavaScript、正则表达式生成等。
    2023-06-01 08:10:03下载
    积分:1
  • visual C# 基本的用户名密码登录判断示例
    一个else if结构的用户登录判断模块,这个是基于C#版的,代码超简单,没有使用数据库,只是交待出了完整的判断过程,后续使用数据库时,原理基本差不多,只不过这里的用户名和密码是从数据库中读取出来,下面是基本的判断过程:   if (textBox1.Text == "")//判断是否输入的用户名   {    MessageBox.Show("用户名不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);   }   else   {    if (textBox1.Text.ToLower() == "tsoft" && textBox2.Text == "111")//判断用户名和密码是否正确    {    MessageBox.Show("登录成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Warning);    }    else    {    MessageBox.Show("用户名或密码错误!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);    }   }结合数据库实现时,先建立数据库连接,读取出用户名和密码赋值到变量中,然后使用上述代码即可判断。
    2022-07-21 04:48:54下载
    积分:1
  • C#使用SqlDataAdapter对象的Fill方法填充DataSet
    C#使用SqlDataAdapter对象的Fill方法填充DataSet,具体是调用DataSet的Copy方法复制DataSet中的内容,完成填充的功能:   private void Form1_Load(object sender, EventArgs e)   {    //实例化SqlConnection变量conn,连接数据库    conn = new SqlConnection("server=.;database=db_14;uid=sa;pwd=");    //创建一个SqlCommand对象    SqlCommand cmd = new SqlCommand("select * from tb_test", conn);    SqlDataAdapter sda = new SqlDataAdapter();//创建一个SqlDataAdapter对象    //设置SqlDataAdapter对象的SelectCommand属性,设置执行的SQL语句    sda.SelectCommand = cmd;    ds = new DataSet(); //实例化DataSet    sda.Fill(ds, "test");//使用SqlDataAdapter对象的Fill方法填充DataSet    dataGridView1.DataSource = ds.Tables[0];//设置dataGridView1的数据源   }   private void button1_Click(object sender, EventArgs e)   {    DataSet ds1 = ds.Copy();//调用DataSet的Copy方法复制ds中的内容    dataGridView2.DataSource = ds1.Tables[0];//将ds1作为dataGridView2的数据源   }
    2022-11-04 09:50:03下载
    积分:1
  • C# 在密钥容器中创建非对称密钥
    在密钥容器中创建非对称密钥、在密钥容器中删除非对称密钥、在密钥容器中获取非对称密钥,具体的实现代码,请参考如下代码:   private void button1_Click(object sender, EventArgs e)   {//在密钥容器中创建非对称密钥    CspParameters MyCSP = new CspParameters();    MyCSP.KeyContainerName = this.textBox2.Text;    RSACryptoServiceProvider MyRSA = new RSACryptoServiceProvider(MyCSP);    this.textBox1.Text=MyRSA.ToXmlString(true);   }   private void button2_Click(object sender, EventArgs e)   {//在密钥容器中删除非对称密钥    CspParameters MyCSP = new CspParameters();    MyCSP.KeyContainerName = this.textBox2.Text;    RSACryptoServiceProvider MyRSA = new RSACryptoServiceProvider(MyCSP);    MyRSA.PersistKeyInCsp = false;    MyRSA.Clear();    try    {    this.textBox1.Text = MyRSA.ToXmlString(true);    }    catch    {    this.textBox1.Text = "已经删除非对称密钥!";    }   }   private void button3_Click(object sender, EventArgs e)   {//在密钥容器中获取非对称密钥    CspParameters MyCSP = new CspParameters();    MyCSP.KeyContainerName = this.textB
    2022-02-06 13:18:17下载
    积分:1
  • 帝国时代2游戏源码
    帝国时代2游戏源码,完整版本编译通过。
    2022-02-09 11:03:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载