基于爬蟲的快手網(wǎng)頁版,批量取關(guān)操作,
因為以前玩快手,看到有趣的就關(guān)注,所以我的賬號積累了將近一千個關(guān)注。而快手的網(wǎng)頁版和移動版都不支持批量取關(guān),只能一個一個取關(guān),很是麻煩。所以我用剛學的爬蟲,爬取了我的關(guān)注,每次可以批量取關(guān)30個。(因為關(guān)注更新的機制是阿賈克斯請求,更新每一頁需要動態(tài)加載的),代碼如下。
import requests
import json
def un_follow(touid):
? ? ? ?json={
? ? ? ?"operationName":"visionFollow",
? ? ? ?"query":"此處填寫自己專屬的query",
? ? ? ?"variables":{"touid":touid,"ftype":2,"followSource":1}
? ? ? ?}
? ? ? ?response=requests.post(url=url,headers=headers,json=json)
? ? ? ?json_data=response.json()
? ? ? ?print('取關(guān)成功')
def get_id():
? ?data={
? ? ? ?"operationName":"visionProfileUserList",
? ? ? ?"query":"此處填寫自己專屬的query",
? ? ? ?"variables":{"ftype":1,"pcursor":""}
? ? ? ? }
? ?data = json.dumps(data)
? ?response = requests.post(url=url,headers=headers,data=data)
? ?data_json = response.json()
? ?fols = data_json['data']['visionProfileUserList']['fols']
? ?user_ids=[]
? ?for fol in fols:
? ? ? ?user_ids.append(fol['user_id'])
? ?return user_ids
url = 'https://www.kuaishou.com/graphql'
headers = {
"Content-Type": "application/json",
"Cookie": ?"此處填寫自己賬號專屬的cookie"
"Origin": "https://www.kuaishou.com",
"Referer": "https://www.kuaishou.com/profile/3xigqm5vbacpwfk",
"User-Agent": "此處填寫專屬的UA"
}
user_ids=get_id()
print(user_ids)
for user in user_ids:
? ?un_follow(user)