利用C#快速查出哪些QQ好友空間屏蔽了自己
大家好,我叫檸檬水,今天馬上就要放假,突然想到自己以前的伙伴、同學(xué),好像想到他們空間沒(méi)怎么發(fā)過(guò)動(dòng)態(tài),難道是把我屏蔽了嗎,好友又那么多,行吧,只能用c#寫(xiě)一個(gè)快速的知道哪些人屏蔽了自己。
首先我們整理邏輯,我們需要所有好友的QQ號(hào),然后是一個(gè)通過(guò)qq號(hào)知道這個(gè)人是否空間屏蔽了自己的接口
qq號(hào)我倒是想到了騰訊官方提供的qq群里的某一個(gè)接口,后面的嘛,可以通過(guò)訪問(wèn)qq空間的那個(gè)接口嘛,嘿嘿,我真是太機(jī)智了 竟然我們邏輯都已經(jīng)想好了,那么后面的事情就簡(jiǎn)單多了
首先我們進(jìn)入qq群
進(jìn)去后我們可以看到不僅是所有的QQ群有,連當(dāng)前qq的所有好友也有 我們點(diǎn)擊好友那個(gè)接口,打開(kāi)所有的好友,直接復(fù)制就行了,其它的交給正則表達(dá)式吧!
然后我們登錄QQ號(hào),打開(kāi)這個(gè)鏈接 http://user.qzone.qq.com/自己QQ號(hào)/infocenter 打開(kāi)f12,刷新找到第一個(gè)接口,找到發(fā)送請(qǐng)求的cookie,現(xiàn)在c#獲取cookie我還不會(huì)哦,寫(xiě)爬蟲(chóng)還是python好呢
現(xiàn)在我們有三個(gè)準(zhǔn)備了,登錄狀態(tài)下的QQ號(hào),cookie已經(jīng)所以的qq好友 接下來(lái)看我的完整代碼
using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Net.Http; using System.Text; using System.Text.RegularExpressions; namespace ConsoleApp6 { class Program { static void Main(string[] args) { string url = "http://user.qzone.qq.com/<<QQ>>/infocenter"; string txt = ""; StreamReader sr = new StreamReader(@"qq.txt");//里面裝的是所以qq好友,直接將復(fù)制的寫(xiě)進(jìn)去 while (!sr.EndOfStream) { string str = sr.ReadLine(); txt += str + "\n"; } sr.Close(); string regex1 = "name: \"(?<name>.*?)\",";//獲取QQ昵稱 string regex2 = "uin: (?<qq>.*?)}";//獲取QQ昵稱 MatchCollection namelist = Regex.Matches(txt, regex1); MatchCollection qqlist = Regex.Matches(txt, regex2); if (namelist.Count != qqlist.Count) { Console.WriteLine("qq昵稱與QQ號(hào)數(shù)目不匹配!"); return; } Dictionary<string, string> dic = new Dictionary<string, string>(); for (int i = 0; i < namelist.Count; i++) { string qqname = Regex.Match(namelist[i].Value, regex1).Groups["name"].ToString().Trim(); string qqnumber = Regex.Match(qqlist[i].Value, regex2).Groups["qq"].ToString().Trim(); dic.Add(qqname, qqnumber); } string cookie = "#";//將復(fù)制的cookie放在里面哦 foreach (var item in dic) { url = url.Replace("<<QQ>>", item.Value); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "GET"; req.Accept = "text/html"; req.AllowAutoRedirect = true; req.Headers.Add("Encoding", Encoding.UTF8.ToString()); req.Headers.Add("cookie", cookie); req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"; HttpWebResponse res = (HttpWebResponse)req.GetResponse(); using (StreamReader reader = new StreamReader(res.GetResponseStream())) { string html = reader.ReadToEnd(); if (!string.IsNullOrEmpty(html)) { string filePath = System.IO.Directory.GetCurrentDirectory() + "\\" + item.Key + item.Value + ".txt"; using (StreamWriter sw = new StreamWriter(filePath)) { sw.Write(html); } Console.WriteLine(item.Key + item.Value +"Download OK!\n"); } } url = url.Replace(item.Value,"<<QQ>>"); } Console.WriteLine("成功啦,去程序目錄一個(gè)個(gè)看吧!"); } } }
里面有說(shuō)放qq號(hào)和cookie的注釋,然后運(yùn)行
如果里面有這句話的,唉
總體來(lái)說(shuō),其實(shí)可以直接得出結(jié)果的,但是,每一個(gè)好友難道不值得你一個(gè)一個(gè)看嘛,如果想用直接得出結(jié)果,可以聯(lián)系我哦,其實(shí)后面加個(gè)判斷就行了!
人生若只如初見(jiàn),何事秋風(fēng)悲畫(huà)扇!
到此這篇關(guān)于利用C#快速查出哪些QQ好友空間屏蔽了自己的文章就介紹到這了,更多相關(guān)C#內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#中IDispose接口的實(shí)現(xiàn)及為何這么實(shí)現(xiàn)詳解
這篇文章主要給大家介紹了關(guān)于C#中IDispose接口的實(shí)現(xiàn)及為何這么實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05C# 通過(guò)ServiceStack 操作Redis
這篇文章主要介紹了C# 通過(guò)ServiceStack 操作Redis的示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03C#創(chuàng)建windows系統(tǒng)用戶的方法
這篇文章主要介紹了C#創(chuàng)建windows系統(tǒng)用戶的方法,涉及C#操作用戶名、密碼、顯示名稱、描述、是否強(qiáng)制修改密碼、密碼是否過(guò)期等技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04C#的正則表達(dá)式Regex類使用簡(jiǎn)明教程
這篇文章主要介紹了C#的正則表達(dá)式Regex類使用簡(jiǎn)明教程,分別講解了如何匹配、如何獲取匹配次數(shù)、如何獲取匹配內(nèi)容及捕獲的方法,需要的朋友可以參考下2014-08-08Winform中Treeview實(shí)現(xiàn)按需加載的方法
這篇文章主要介紹了Winform中Treeview實(shí)現(xiàn)按需加載的方法,針對(duì)大數(shù)據(jù)量的情況下非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10C# 從Excel讀取數(shù)據(jù)向SQL server寫(xiě)入
這篇文章主要介紹了C# 從Excel讀取數(shù)據(jù)向SQL server寫(xiě)入的方法,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03簡(jiǎn)述C#枚舉高級(jí)戰(zhàn)術(shù)
這篇文章主要介紹了簡(jiǎn)述C#枚舉高級(jí)戰(zhàn)術(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10