前言
我相信很多人發一些畢竟曖昧啊,敏感的朋友圈時,都會選中一些人屏蔽掉吧,雖然每個人都有不能說出口的理由,但是我屏蔽你可以,因為你不知道,但是你不能屏蔽我呀,那樣太傷心了啊!哈哈哈,是不是太雙標了!今天主要教大家是怎么獲取那些QQ空間都屏蔽我們的人,咱就是小氣,咱就是記仇,哈哈哈!
準備作業
python環境:python3.7.4第三方庫環境:requestslxmlthreadpoolselenium
準備作業準備好,這樣才能寫出有效代碼!需要軟體或者中庫,這種模塊的點這里即可
利用selenium模擬登陸獲取cookie并保存到本地
def search_cookie(): # 先檢測一下是否運行過
if not __import__('os').path.exists('cookie_dict.txt'):
get_cookie_json()
with open('cookie_dict.txt', 'r') as f:
cookie=json.load(f)
return cookie
def get_cookie_json(): # 無頭selenium登陸
qq_number = input('請輸入qq號:')
password = __import__('getpass').getpass('請輸入qq密碼:')
from selenium import webdriver
login_url = 'https://i.qq.com/'
chrome_options =Options()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(options=chrome_options)
driver.get(login_url)
driver.switch_to_frame('login_frame')
driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()
time.sleep(1)
driver.find_element_by_xpath('//*[@id="u"]').send_keys(qq_number)
driver.find_element_by_xpath('//*[@id="p"]').send_keys(password)
time.sleep(1)
driver.find_element_by_xpath('//*[@id="login_button"]').click()
time.sleep(1)
cookie_list = driver.get_cookies()
cookie_dict = {}
for cookie in cookie_list:
if 'name' in cookie and 'value' in cookie:
cookie_dict[cookie['name']] = cookie['value']
with open('cookie_dict.txt', 'w') as f:
json.dump(cookie_dict, f)
return True
找到查看好友的介面
進入我的空間,點擊 F12 檢查界面,將 Network 清空后點擊好友界面,

首選盲猜好友串列含有friend欄位,直接選擇搜索發現出來一些資料,挨個查找之后發現好友欄位,保存當前獲得的 url 供日后查詢,

破解data里面的加密引數

看到只有一個 g_tk 加密引數就很激動,就一個加密!
去 Sources 里面搜索 g_tk 取值到底是什么加密,發現是個函式點進去看后發現是個簡單的小加密,可以寫 python 代碼,


Python代碼如下:
def get_g_tk(): # QQ空間的加密演算法
p_skey = cookie['p_skey']
h = 5381
for i in p_skey:
h += (h << 5) + ord(i)
g_tk = h & 2147483647
return g_tk
在QQ空間好友欄獲取好友串列
拿到加密引數后,接下來我們就只需要進剛才所說的空間好友欄頁面將所有的好友的QQ號抓下來,用urllib.parse.urlencode(data)將引數轉成我們常見的url后面綴了一長串&&&的形式與原始鏈接拼接,然后就可以帶上cookies發送請求獲取json資料,
def get_friends_uin(g_tk): # 獲得好友的QQ號資訊
yurl = 'https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/tfriend/friend_ship_manager.cgi?'
data = {
'uin': cookie['ptui_loginuin'],
'do': 1,
'g_tk': g_tk
}
url = yurl + urllib.parse.urlencode(data)
res=requests.get(url, headers = headers, cookies = cookie)
r = res.text.split('(')[1].split(')')[0]
friends_list=json.loads(r)['data']['items_list']
friends_uin=[]
for f in friends_list:
friends_uin.append(f['uin'])
return friends_uin
找到屏蔽我的狠人
拿到好友的QQ號之后,咱們就能直接訪問好友的空間了,但是好友設定了拒絕訪問,一定要拿小本本記下來!

def get_blacklist(friends): # 查詢被擋好友的QQ號,用小本本記下來!
access_denied=[] # 拉黑筆記,小本本記下來!
yurl = 'https://user.qzone.qq.com/'
for friend in friends:
print("開始檢查:"+str(friend))
url = yurl + str(friend)
res = requests.get(url,headers=headers,cookies=cookie)
tip = etree.HTML(res.text).xpath('/html/body/div/div/div[1]/p/text()')
if len(tip) > 0:
#if tip[0][:7] == "主人設定了權限":
print(str(friend)+"把我拉黑了!")
access_denied.append(friend)
return access_denied
禿然好心寒
其實看到這,我就有點心寒了,,,,

拉黑這幫重色輕友的人!
進入自己心靈想進去的地方,拉黑他們!

發現只有一個 post 請求,那應該就只能是這個了,

看了眼所需要的引數,自己的號,拉黑的號,自己的空間,加上一個無用引數和剛才所獲得加密引數,

越想越氣,寫代碼!
#需要完整專案源代碼的加下群:948351247
ef pull_black(): # 拉黑,必須拉黑!
global cookie
cookie = search_cookie()
with open('access_denied.txt', 'r') as f:
access_denied = f.readlines()
for fake_friend in access_denied:
fake_friend = fake_friend.split('\n')[0]
yurl = "https://user.qzone.qq.com/proxy/domain/w.qzone.qq.com/cgi-bin/right/cgi_black_action_new?"
g_tk = get_g_tk()
url_data = {'g_tk': g_tk}
data = {
'uin': cookie['ptui_loginuin'],
'action': '1',
'act_uin': fake_friend,
'fupdate': '1',
'qzreferrer': 'https://user.qzone.qq.com/1223411083'
}
url = yurl + urllib.parse.urlencode(url_data)
res=requests.post(url, headers = headers, data=data, cookies = cookie)
print(str(fake_friend)+"已被您拉黑")
print("都拉黑了!解氣!!")
你學會了嗎?哈哈哈,想當年,QQ可是我們90后的對比神器呢,誰的QQ秀咋樣,誰有一個太陽了,誰有會員各種,很是懷念當初那個時候啊!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/347139.html
標籤:python
