快手某程序接口大全关注.点赞.评论

需求:想要获取快手一些简单操作的 点赞评论等

声明:本博文只是作为研究学习用途,请不要用于非法、商业用途。

目前抓出的一些接口和请求参数,有意向的可以自己去测试下,全套流程可以私聊我

下面是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)

【资源说明】 基于DrissionPage实现的获取快手直播间实时礼物、聊天、信息python源码+使用说明+详细注释.zip 环境要求 建议使用conda虚拟环境部署,python版本要求大于或等于``3.6`` 环境安装 首先你需要将本项目克隆到你本地。 然后您只需要使用下面命令即可一键安装所需的环境 ```bash pip3 install -r requirements.txt ``` 如果pip下载速度较慢,请使用下面这个命令 ``` pip3 install -r requirements.txt -i http://pypi.douban.com/simple/ ``` 配置 在使用前,你需要完成一些基本配置 所有配置你只需要在``config.py``文件中完成,如果你不懂任何技术,请不要修改除``config.py``文件外的任何文件。 你主要是需要去配置``LIVE_URL``选项,去指定直播间的地址,配置实例 ```py LIVE_URL = r"https://live.kuaishou.com/u/KPL704668133" ``` 上面这个代码我指定了KPL直播间地址。 其次,你需要配置``BROWSER_PATH``选项,该选项需要你指定浏览器可执行文件的路径,在默认的配置中,我使用了``edge``浏览器作为驱动。 你可以配置任何使用``chromium``内核构建的浏览器,例如``Microsoft Edge``或者是``Google Chrome``等。 ```py BROWSER_PATH = r'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe' ``` 其他选项对于本项目的运行影响不大,你可以看选项上面的注释进行配置 运行 如果你完成了上述的配置,使用以下命令进行启动本项目 ```bash python main.py ``` 未知礼物 由于时效性问题,可能导致一些礼物无法识别,此时,你需要额外配置一些未知的礼物。 程序会将获取到的未知的例如默认存放到``unknow_gift``目录(你可以在``config.py``中修改这个路径),名称为:礼物图片md5.png,你需要将``礼物图片md5``改为礼物真实的名称,例如,原始文件名``580c253e0bd3cc4212f7087d110691ed.png``,你需要改为``粉丝团.png`` 最后你需要执行以下命令完成礼物的导入 ```shell python import_git.py ``` 事件开发 如果你在获取到礼物、收到聊天信息、收到后想实现一些业务流程处理,你需要在``handle.py``中实现。 该文件中共实现了三个方法,分别为``message``、``like``、``gift``分别代表了``消息``、````、``礼物`` 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!
### 如何通过爬虫抓取快手平台上视频数量 #### 方法概述 可以通过多种方式从快手平台获取视频数量。主要的技术手段包括利用平台提供的 API 接口以及采用网页爬虫技术。 --- #### 利用快手官方或其他第三方 API 提供的功能 如果快手提供了类似于 YouTube 的官方 API 或其他开放接口,则可以直接调用这些服务来获取所需的数据。例如,快手可能允许开发者访问其公开数据集,其中包括视频的基本信息(如标题、作者)、互动指标(如数、评论数)等[^2]。这种方案的优在于无需担心反爬机制或动态加载问题,因为所有的数据都由服务器端直接返回给客户端程序。 对于具体实现步骤而言,通常需要先注册成为开发者并申请相应的权限,在获得授权之后便能够按照文档说明发起请求读取消息流中的各项统计数值[^1]。 --- #### 基于爬虫技术的手动数据提取流程 当无法依赖现成的服务时,则考虑运用自动化脚本来自定义完成整个过程: ##### 处理动态内容加载挑战 由于现代 Web 应用广泛采用了 AJAX 和 JavaScript 来异步更新界面元素,因此单纯依靠传统的 HTML 解析库可能不足以应对所有情况下的需求。针对这种情况,推荐引入 Selenium 这样的工具来进行完整的浏览器仿真操作,从而确保即使面对复杂的交互场景也能顺利取得目标字段值[^3]。 ##### 防止被检测到而受限访问 为了避免因频繁请求而导致账号遭到封锁或者其他形式的安全防护措施影响正常工作进度,建议采取如下策略降低风险: - 设置合理的延时间隔; - 更改 User-Agent 字符串伪装成真实用户的浏览习惯; - 如果条件允许的话还可以借助代理池分散IP地址来源分布范围以进一步提升隐蔽程度[^4]。 以下是基于 Python 实现的一个简单示例代码片段展示如何初步尝试定位某个特定属性的内容位置并通过正则表达式匹配最终结果字符串: ```python import re from selenium import webdriver def fetch_kuaishou_likes(video_url): driver = webdriver.Chrome() try: driver.get(video_url) # Wait until the page fully loads and dynamic elements are rendered. element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.CLASS_NAME , 'like-count')) ) html_content = driver.page_source match_result = re.search(r'"likeCount":(\d+)', html_content) if match_result is not None: like_count = int(match_result.group(1)) return like_count finally: driver.quit() if __name__ == "__main__": url = "https://www.kuaishou.com/some-video-id" likes = fetch_kuaishou_likes(url) print(f"The video has {likes} likes.") ``` 上述例子仅作为概念验证用途,请根据实际情况调整参数设置及错误处理逻辑等内容后再投入实际生产环境运行。 --- #### 数据存储与后续分析 一旦成功收集到了足够的样本集合后,就可以着手准备下一步骤——即把原始素材转化为更有意义的知识表示形式以便更好地理解潜在规律特征所在之处。常用的做法有导入数据库管理系统保存长期记录档案;亦或是立即转换为表格视图便于快速查看趋势走向变化等等。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值