• c#代码抓取本地QQ号,很实用哦


    //抓取QQ号
            WebBrowser web = new WebBrowser();  //使用户可以在窗体中导航网页
            private void 抓取QQToolStripMenuItem_Click(object sender, EventArgs e)
            {
                listView1.Columns.Clear();
                listView1.Items.Clear();
                listView1.Columns.Add("昵称",100);
                listView1 .Columns .Add ("QQ号",150);
                listView1.GridLines = true; //显示网格线
    
                //让webbrowser加载这个地址,这是腾讯网自动登录,我们就是利用腾讯的自动检测来获取我们登录的QQ号
                web.Navigate("http://xui.ptlogin2.qq.com/cgi-bin/qlogin?domain=qq.com&lang=2052&qtarget=1&jumpname=&appid=549000912&ptcss=undefined&param=u1%253Dhttp%25253A%25252F%25252Fqun.qzone.qq.com%25252Fgroup&css=&mibao_css=&s_url=http%253A%252F%252Fqun.qzone.qq.com%252Fgroup&low_login=0&style=12&authParamUrl=&needVip=1&ptui_version=10028");
                web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebCompleted);  
             }
            void WebCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                //为了保险起见 我们在这再次判断是否加载完成
                if (web.ReadyState == WebBrowserReadyState.Complete && web.IsBusy == false)
                {
                    HtmlDocument doc = web.Document; //抓取网页
                    HtmlElement hem = doc.GetElementById("list_uin");//这里就像js里面一样通过ID来查找对象
                    while (doc == null || hem == null)  //网络操作总是伴随着一些不可预知的异常,所以在这以防万一对象为空,我们继续判断
                    {
    
                        Application.DoEvents();//如果为空,就转交控制权
                    }
    
                    for (int i = 0; i < hem.Children.Count; i++)
                    {
                        string innertext = hem.Children[i].InnerText.Trim(); //获取到昵称和QQ号,格式是这样的  昵称(qq号)
                        string[] temps = innertext.Split(' '); //我们把昵称和(qq号)分离
                        string name = temps[0]; //得到昵称
                        string num = temps[1]; //得到QQ号
                        num = num.Replace("(", "").Replace(")", ""); //因为这里我们得到的QQ号还是(qq号)带有括号,所以需要去掉括号
                        ListViewItem item = new ListViewItem(); //创建Listviewitem对象
                        item.Text = name;  //将昵称设置为文本
                        item.SubItems.Add(num);//将QQ号添加进子项
                       listView1 .Items.Add(item);//最后将listviewitem对象添加进listview
                    }
                    listView1.Text = "完成";//OK  搞定收工
                }
                else
                {
                    listView1.Text = "网页错误。请重试";
    
                }
            }
    
            }
    
        }
  • 相关阅读:
    01-Git 及其可视化工具TortoiseGit 的安装和使用
    IntelliJ IDEA中Warning:java:源值1.5已过时, 将在未来所有发行版中删除
    JVM学习笔记四_垃圾收集器与内存分配策略
    JVM学习笔记三_异常初步
    CentOs7 图形界面和命令行界面切换
    基本概念一
    JVM学习笔记二_对象的创建、布局和定位
    JVM学习笔记一_运行时数据区域
    个人阅读作业二
    软件工程随笔
  • 原文地址:https://www.cnblogs.com/275147378abc/p/4581956.html
Copyright © 2020-2023  润新知