词频分析(C#版)

这是一个使用C#编写的程序,用于从网页中抓取并分析关键词。程序通过HTTP请求获取网页内容,对HTML进行处理,提取标题、关键词和描述,并进行词频分析。此外,它还与MySQL数据库交互,更新URL的相关信息。
摘要由CSDN通过智能技术生成
和JS版功能相同,只是为了提高性能才用C#重写一次.N年前的代码,
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace 网页关键词处理
{
    public partial class keywords : Form
    {
        public keywords()
        {
            InitializeComponent();
        }
        private Thread t;
        delegate void SetTextCallback(string text);
        private void start_Click(object sender, EventArgs e){
            if (start.Text.Equals("stop")) {
                this.t.Abort();
                start.Text = "start";
            }else{
                this.t = new Thread(new ThreadStart(this.threadsafe));
                this.t.Start();
                start.Text = "stop";
            }
        }
        private void threadsafe() {
            //获取数据库连接
            string _sha1 = "";
            string _url = "";
            if (url.Text.Trim().Equals(""))
            {
                MySqlConnection conn = new MySqlConnection("server=" + db_servers.Text.Trim() + ";user=" + db_uid.Text.Trim() + ";database=" + db_db.Text.Trim() + ";port=3306;password=" + db_pwd.Text.Trim() + ";charset=utf8");
                try
                {
                    conn.Open();
                    MySqlCommand cmd = new MySqlCommand("SELECT url_sha1,url_link FROM url ORDER BY url_update,url_error ASC LIMIT 1", conn);
                    MySqlDataReader rdr = cmd.ExecuteReader();
                    while (rdr.Read()) {
                        _sha1 = rdr.GetString(0).Trim();
                        _url = rdr.GetString(1).Trim();
                    }
                    rdr.Close();
                    cmd.Dispose();
                    rdr.Dispose();
                    rdr = null;
                    cmd = null;
                    conn.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                conn.Dispose();
                conn = null;
            }else {
                _sha1 = "";
                _url = url.Text.Trim();
            }
            show("访问:"+_url);
            try
            {
                html h = new html(gethttp(_url));
                string title = h.Title;
                string body = h.Body;
                MySqlConnection conn = new MySqlConnection("server=" + db_servers.Text.Trim() + ";user=" + db_uid.Text.Trim() + ";database=" + db_db.Text.Trim() + ";port=3306;password=" + db_pwd.Text.Trim() + ";charset=utf8");
                conn.Open();
                MySqlCommand cmd = new MySqlCommand("UPDATE url
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值