需求:想要获取快手一些简单操作的 点赞评论等
声明:本博文只是作为研究学习用途,请不要用于非法、商业用途。
目前抓出的一些接口和请求参数,有意向的可以自己去测试下,全套流程可以私聊我
下面是PY写的一些接口列表:
import json
from copy import copy
from requests_toolbelt import MultipartEncoder
import requests as requests
# 配置数据
__NS_sig3 = '必填'
__NS_sig3_origin = '必填'
headers = {
'content-type': 'application/json',
'cookie': 'unionid=V2:1230c222871cad88f0d19f0572424c8d29c366771122d0397de7a31e18b3fd1a3a554c592835cbb3eb80d222a1abdca4ab481a126327a29a5d864a95a93e8f8e0e98d21e5d642220eb2a777ee1d4daf273ed1d362d4f5cd06a1d5c1315995845178ebc23117913d728053001;ssecurity=RlH3azpjdzbM+Tt/efSxHw==;openId=o5otV4_o1lJRc0hheNPXtVEr3nuM;passToken=ChNwYXNzcG9ydC5wYXNzLXRva2VuEpABdG09AXHddlamAORDNKxhw4mlAqiBQyb2EZdn-OeyrDX_ko8BfZPqOV9feTk0eleuEbSYmoSjTzqLPaiVhbihfk-2A9JuNZgFMt6g_MHXhm2ZdvUl6g06oLoBGuqlrA5EqI4x9mIYsyYWinoGdKsaKdvKxeN_6DNWAuHbOi2jGT79SPLzIWEMydoyVWww7p3PGhLJG0j4oLlDWopjqe7iQfBXXboiIIZXF9vlQNHiYaHkj1D2WxSf-JSriyw7XK_RbEuRns5WKAUwAQ;eUserStableOpenId=123020aeee3550021577ecdb8697a339c898d3348f3143389c6847efe00b7cbb93df0c57558bcb2b8e484ef286e8e0450a771a126327a29a5d864a95a93e8f8e0e98d21e5d642220e034ef227c718467f97aba3003cb1605556b75ea985d4ecb5f4e08321c23300728053001;kuaishou.wechat.app_st=ChZrdWFpc2hvdS53ZWNoYXQuYXBwLnN0ErAB4D8YG-LAb8O44nTYKdSTUQYwtMqiEedgBeJRQ3ZJxxiOpujgqq4EBe-JBgWpx8QD4JFu69-9OyiUvennXsaYpXoIPhbE-QJFlFVAdTeQKYADmjPXHp6TvAaBjFvpe3ng4n_pH6Md5xS_8r9pCjXRX9EmfPsIJ7kWHGbqQpwglk0fB_MGaUCzT3xxdnXddReDYHYm8MzDeE-px4kgsVgkU67ZKAJcyPQ_sZUYpuQxHvsaEptDw3hFPkjgntwi9azCQnmPYCIgtmg1fOHE_5tV-n6FehaIS5rhYzLTqRsk9n4WvVLLDuEoBTAB;kuaishou.wechat.app.at=ChZrdWFpc2hvdS53ZWNoYXQuYXBwLmF0EsAB27Vti8l-EFqxXBgtGnwggD1OqS4ZbQ2f2pvf3HBBmFUEpGoEzCm8g1J_Id9W9u6ARkQKyTyVU5vYYOfdqgZr9gH8JfstcdqVqc-U3yqAegyTSDntAlVxCOFpH8YgDPlP5nNCCpKMbL4NQ9HNlEIOcty5L_W_VUbJjE3gW44jGouEBYNtX0IHsSsIBZ9fjjo-zEfGZuT-64NiT3Tfn_-V4fumf_H4Aa4Bs_3BLLHA50NHEIbUT1-7ALpMpZKywjBzGhIdXLGdK5hPUIFALsVBtjHwsGIiIOzw6zlxNbtzXvSTdinT0dcSjRP3UbbMyseb2LBCflnpKAUwAQ;isNewUser":false,"userId":3479636837,"result":1,"eOpenId=12607dd03641bd1b1b674b15920449dbbca19a8dcce9c080d8890584e5d0d74eacd8cd86c9d2c29128a4052e3b6f4eab70b7b14958768609e548857d512450dab60d185c41a68d6391c359dc304a8be6d2dcafda8bf20e08025dc0e4503903e093e61a12578aaf78a3674cbaa58ecb218168caa24bbf2220b189791d760bea926a65d26ac809347656cce10f2f8e04778628771262d5b7f428053001;session_key=1230739552ca476f9918f8cb3a613d807622d9487ffeac2a5f5c50fc81b5ee3a99a2722cadeeaae17d9f7ef8911bcce1a7401a1230e38d22b11d4389b2c7b098321abf5fb64d2220ffc29e78d58f1b642664711a09b550814ba4e537d544a4e4c778bd561034e8dd28053001;eOpenUserId=1240f47826e1ba2ea84687b74e9413645ca04d6016557cf7974b30483236d60d32f7339c0b1400c933e4aa23ab4051eab6a36822c44d1b19d1343f1e4871ee8d67871a126a592bd26ac743d0b6d80fb61267091dff4b222001f5ca954cfa6caf32ac546c21fcf65cc9d1b93cded0575f27dc94ef53d2079328053001;did=wxo_6c890a8dd6219fae60a6343dbc9e63f9a08b',
'Referer': 'https://servicewechat.com/wx79a83b1a1e8a7978/609/page-frame.html'
}
# 获取个人信息
def getInfo(eid):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/user/profile?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
'eid': eid
}
res = requests.post(url, headers=headers, data=json.dumps(data))
res = json.loads(res.content)
print(res)
# 获取推荐数据列表
def getRecommend():
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/feed/recommend?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
"count": 20,
"portal": 1,
"pageType": 2,
"needLivestream": True,
"pcursor": 21,
"sourceFrom": 2,
}
res = requests.post(url, headers=headers, data=json.dumps(data)).content.decode('utf-8')
res = json.loads(res)
feeds = res['feeds']
data_list = []
for item in feeds:
item = dict(item)
temp = {
'headUrl': item.get('headUrl'), # 头像地址
'forwardCount': item.get('forwardCount'), # 关注次数
'commentCount': item.get('commentCount'), # 评论次数
'likeCount': item.get('likeCount'), # 点赞次数
'viewCount': item.get('viewCount'), # 播放次数
'shareCount': item.get('shareCount'), # 分享次数
'kwaiId': item.get('kwaiId'), # 快手ID
'userId': item.get('userId'), # 用户ID
'photoId': item.get('photoId'), # photo ID
'userName': item.get('userName'), # 用户名称
'userSex': item.get('userSex'), # 用户性别
'caption': item.get('caption'), # 说明
'mainMvUrls': item.get('mainMvUrls') # mv视频地址
}
print(temp)
data_list.append(temp)
return data_list
# 点赞
def like(userId, photoId, cancel=0):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/photo/like?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
"photoId": photoId,
"userId": userId,
"cancel": cancel
}
res = requests.post(url, headers=headers, data=json.dumps(data)).json()
print(res)
return res
# 评论
def comment(userId, photoId, content):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/photo/comment/add?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
"photoId": photoId,
"photoAuthorId": userId,
"content": content
}
res = requests.post(url, headers=headers, data=json.dumps(data)).json()
print(res)
return res
# 获取用户下所有视频
def getProfileFeeds(userId, pcursor=None, count=12):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/feed/profile?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
"count": count,
"eid": userId,
"pcursor": pcursor
}
res = requests.post(url, headers=headers, data=json.dumps(data)).json()
print(res)
return res
# 获取关注数据列表
def myFollow(pcursor=0, clientRealReportData='', count=12):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/feed/myfollow?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
"count": count,
"pcursor": pcursor,
"productionFeature": 2,
'clientRealReportData': clientRealReportData
}
res = requests.post(url, headers=headers, data=json.dumps(data)).content.decode('utf-8')
res = json.loads(res)
print(res)
# 获取直播列表 pcursor游标 ,tabId: 1精选、7卖货、3游戏、11颜值
def live(pcursor=0, tabId=1):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/live/feed/square/more?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}&pcursor={pcursor}&tabId={tabId}'
res = requests.get(url, headers=headers).json()
print(res)
return res
# 获取主播直播信息
def liveUserInfo(eid, source=9):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/live/byUser?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
"eid": eid,
"source": source,
}
res = requests.post(url, headers=headers, data=json.dumps(data)).content.decode('utf-8')
res = json.loads(res)
print(res)
# 直播间发消息
def liveComment(liveStreamId, content):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/live/comment?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
"liveStreamIdStr": liveStreamId,
"content": content,
}
res = requests.post(url, headers=headers, data=json.dumps(data)).content.decode('utf-8')
res = json.loads(res)
print(res)
# 关注 touid关注人ID ftype:1关注 2取消关注
def follow(touid, ftype=1):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/relation/follow?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
"touid": touid,
"ftype": ftype,
"page_ref": 84
}
res = requests.post(url, headers=headers, data=json.dumps(data)).content.decode('utf-8')
res = json.loads(res)
print(res)
# 添加作品收藏
def collectAdd(photoId):
url = 'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/collect/add'
data = {
"photoId": photoId
}
res = requests.post(url, headers=headers, data=json.dumps(data)).content.decode('utf-8')
res = json.loads(res)
print(res)
# 取消作品收藏
def collectDel(photoId):
url = 'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/collect/delete'
data = {
"photoId": photoId
}
res = requests.post(url, headers=headers, data=json.dumps(data)).content.decode('utf-8')
res = json.loads(res)
print(res)
# 上传作品图片文件
def uploadImage(taskId, filePath, index=1):
url = 'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/flashPhoto/uploadImage'
headers_b = copy(headers)
headers_b['content-type'] = 'multipart/form-data; boundary=WABoundary+0FB3754FF6D925CEWA'
headers_b['accept-language'] = 'zh-CN,zh-Hans;q=0.9'
data = MultipartEncoder(
fields={
"index": str(index),
'taskId': taskId,
"image": ('tmp_d0596ba1c46964c15507ceb6efbea359.jpg', open(filePath, 'rb'), 'image/jpg')
},
boundary='WABoundary+0FB3754FF6D925CEWA'
)
res = requests.post(url, headers=headers_b, data=data).json()
print(res)
# 获取发布任务ID
def getTaskId(templateId=14):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/flashPhoto/getTaskId?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
"templateId": templateId
}
res = requests.post(url, headers=headers, data=json.dumps(data)).json()
print(res)
return res['taskId']
# 发布作品
def publish(taskId):
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/flashPhoto/publish?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
data = {
"taskId": taskId
}
res = requests.post(url, headers=headers, data=json.dumps(data)).json()
print(res)
# 获取作品发布模板
def getTemplateList():
url = f'https://wxmini-api.uyouqu.com/rest/wd/wechatApp/flashPhoto/templateList?__NS_sig3={__NS_sig3}&__NS_sig3_origin={__NS_sig3_origin}'
res = requests.post(url, headers=headers, data='{}').json()
print(res)
if __name__ == '__main__':
# 获取直播列表
rs = follow("1258367463", ftype=1)
print(rs)