返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现简单自动评论自动点赞自动关注脚本
  • 320
分享到

Python实现简单自动评论自动点赞自动关注脚本

2024-04-02 19:04:59 320人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言开发环境原理:代码实现1. 请求伪装2. 获取搜索内容的方法3. 获取作品评论4. 自动评论5. 点赞操作6. 关注操作7. 获取创作者信息8. 获取创作者视频9. 调用函数

前言

今天的这个脚本,是一个别人发的外包,交互界面的代码就不在这里说了,但是可以分享下自动评论、自动点赞、自动关注、采集评论和视频的数据是如何实现的

开发环境

python 3.8 运行代码

PyCharm 2021.2 辅助敲代码

requests 第三方模块

原理:

模拟客户端,向服务器发送请求

代码实现

1. 请求伪装

def __init__(self):
    self.headers = {
        'content-type': 'application/JSON',
        'Cookie': 'kpf=PC_WEB; kpn=KUaiSHOU_VISION; clientid=3; did=web_ea128125517a46bd491ae9ccb255e242; client_key=65890b29; didv=1646739254078; _bl_uid=pCldq3L00L61qCzj6fytnk2wmhz5; userId=270932146; kuaishou.server.web_st=ChZrdWFpc2hvdS5zZXJ2ZXIud2ViLnN0EqABH2BHihXp4liEYWMBFv9aguyfs8BsbINQIWqGoDw0SimMkpXwM7PKpKdJcZbU12QOyeKFaG4unV5EUkkEswL0HnA8_A9z2ujLlKN__gRsxU2B5kIYgirTDPiVJ3uPN1sU9MQvog3auoNJxDdbKjVeFNK1wQ5HTM_yUvYvmWOx9iC8IKcvnmo9YnG_J9ske-t-wiCWMgSCA25HN6MRqCMxuhoSnIqSq99L0mk4jolsseGdcwiNIiC8rjheuewIA1Bk3LwkNIYikU2zobcuvgAiBbMnBuDixygFMAE; kuaishou.server.web_ph=55c7e6b2033ea94a3447ea98082642cd6f1a',
        'Host': 'www.ks.com',
        'Origin': 'https://www.ks.com',
        'Referer': 'Https://www.ks.com/search/video?searchKey=%E9%BB%91%E4%B8%9D',
        'User-Agent': 'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/101.0.4951.67 Safari/537.36',
    }
    self.url = 'https://www.ks.com/graphql'

2. 获取搜索内容的方法

def get_search(self, keyWord, pcursor):
    """
    :param keyword: 关键词
    :param pcursor: 页码
    :return: 搜索作品
    """
    json = {
        'operationName': "visionSearchPhoto",
        'query': "fragment photoContent on PhotoEntity {\n  id\n  duration\n  caption\n  likeCount\n  viewCount\n  realLikeCount\n  coverUrl\n  photoUrl\n  photoH265Url\n  manifest\n  manifestH265\n  videoResource\n  coverUrls {\n    url\n    __typename\n  }\n  timestamp  \n  animatedCoverUrl\n  distance\n  videoRatio\n  liked\n  stereoType\n  profileUserTopPhoto\n  __typename\n}\n\nfragment feedContent on Feed {\n  type\n  author {\n    id\n    name\n    headerUrl\n    following\n    headerUrls {\n      url\n      __typename\n    }\n    __typename\n  }\n  photo {\n    ...photoContent\n    __typename\n  }\n  canAddComment\n  llsid\n  status\n  currentPcursor\n  __typename\n}\n\nquery visionSearchPhoto($keyword: String, $pcursor: String, $searchSessionId: String, $page: String, $webPageArea: String) {\n  visionSearchPhoto(keyword: $keyword, pcursor: $pcursor, searchSessionId: $searchSessionId, page: $page, webPageArea: $webPageArea) {\n    result\n    llsid\n    webPageArea\n    feeds {\n      ...feedContent\n      __typename\n    }\n    searchSessionId\n    pcursor\n    aladdinBanner {\n      imgUrl\n      link\n      __typename\n    }\n    __typename\n  }\n}\n",
        'variables': {'keyword': keyword, 'pcursor': pcursor, 'page': "search"}
    }
    response = requests.post(url=self.url, json=json, headers=self.headers)
    json_data = response.json()
    print(json_data)
    return json_data

3. 获取作品评论

def get_comments(self, photoId, pcursor):
    """
    :param photoId: 作品id
    :param pcursor: 页码
    :return: 评论内容
    """
    json = {
        'operationName': "commentListQuery",
        'query': "query commentListQuery($photoId: String, $pcursor: String) {  visionCommentList(photoId: $photoId, pcursor: $pcursor) {\n    commentCount\n        rootComments {\n      commentId\n      authorId\n      authorName\n      content\n      headurl\n      timestamp\n      likedCount\n      realLikedCount\n      liked\n      status\n      subCommentCount\n      subCommentsPcursor\n      subComments {\n        commentId\n        authorId\n        authorName\n        content\n        headurl\n        timestamp\n        likedCount\n        realLikedCount\n        liked\n        status\n        replyToUserName\n        replyTo\n        __typename\n      }\n      __typename\n    }\n    __typename\n  }\n}\n",
        'variables': {'photoId': photoId, 'pcursor': pcursor}
    }
    response = requests.post(url=self.url, json=json, headers=self.headers)
    json_data = response.json()
    print(json_data)
    return json_data

4. 自动评论

def post_comment(self, content, photoAuthorId, photoId):
    """
    :param content: 评论内容
    :param photoAuthorId: 该作品的作者id
    :param photoId: 作品id
    :return: 有没有成功
    """
    json = {
        'operationName': "visionAddComment",
        'query': "mutation visionAddComment($photoId: String, $photoAuthorId: String, $content: String, $replyToCommentId: ID, $replyTo: ID, $expTag: String) {  (photoId: $photoId, photoAuthorId: $photoAuthorId, content: $content, replyToCommentId: $replyToCommentId, replyTo: $replyTo, expTag: $expTag) {\n    result\n    commentId\n    content\n    timestamp\n    status\n    __typename\n  }\n}\n",
        'variables': {
            'content': content,
            'expTag': "1_a/2005158523885162817_xpcwebsearchxxnull0",
            'photoAuthorId': photoAuthorId,
            'photoId': photoId
        }
    }
    response = requests.post(url=self.url, json=json, headers=self.headers)
    json_data = response.json()
    print(json_data)
    return json_data

5. 点赞操作

def is_like(self, photoId, photoAuthorId):
    """
    :param photoId: 作品id
    :param photoAuthorId: 该作品的作者id
    :return: 有没有成功
    """
    json = {
        'operationName': "visionVideoLike",
        'query': "mutation visionVideoLike($photoId: String, $photoAuthorId: String, $cancel: Int, $expTag: String) {\n  visionVideoLike(photoId: $photoId, photoAuthorId: $photoAuthorId, cancel: $cancel, expTag: $expTag) {\n    result\n    __typename\n  }\n}",
        'variables': {
            'cancel': 0,
            'expTag': "1_a/2005158523885162817_xpcwebsearchxxnull0",
            'photoAuthorId': photoAuthorId,
            'photoId': photoId
        }
    }
    response = requests.post(url=self.url, json=json, headers=self.headers)
    json_data = response.json()
    print(json_data)
    return json_data

6. 关注操作

def is_follow(self, touid):
    """
    :param touid: 用户id
    :return:
    """
    json = {
        'operationName': "visionFollow",
        'query': "mutation visionFollow($touid: String, $ftype: Int, $followSource: Int, $expTag: String) {\n  visionFollow(touid: $touid, ftype: $ftype, followSource: $followSource, expTag: $expTag) {\n       followStatus\n    hostName\n    error_msg\n    __typename\n  }\n}\n",
        'variables': {
            'expTag': "1_a/2005158523885162817_xpcwebsearchxxnull0",
            'followSource': 3,
            'ftype': 1,
            'touid': touid
        }
    }
    response = requests.post(url=self.url, json=json, headers=self.headers)
    json_data = response.json()
    print(json_data)
    return json_data

7. 获取创作者信息

def get_userInfo(self, userId):
    """
    :param userId: 用户ID
    :return: 用户信息
    """
    json = {
        'operationName': "visionProfile",
        'query': "query visionProfile($userId: String) {\n  visionProfile(userId: $userId) {\n       hostName\n    userProfile {\n      ownerCount {\n        fan\n        photo\n        follow\n        photo_public\n        __typename\n      }\n      profile {\n        gender\n        user_name\n        user_id\n        headurl\n        user_text\n        user_profile_bg_url\n        __typename\n      }\n      isFollowing\n      __typename\n    }\n    __typename\n  }\n}\n",
        'variables': {'userId': userId}
    }
    response = requests.post(url=self.url, json=json, headers=self.headers)
    json_data = response.json()
    print(json_data)
    return json_data

8. 获取创作者视频

def get_video(self, userId, pcursor):
    """
    :param userId: 用户id
    :param pcursor: 页码
    :return: 作品
    """
    json = {
        'operationName': "visionProfilePhotoList",
        'query': "fragment photoContent on PhotoEntity {\n    duration\n  caption\n  likeCount\n  viewCount\n  realLikeCount\n  coverUrl\n  photoUrl\n  photoH265Url\n  manifest\n  manifestH265\n  videoResource\n  coverUrls {\n    url\n    __typename\n  }\n  timestamp\n  expTag\n  animatedCoverUrl\n  distance\n  videoRatio\n  liked\n  stereoType\n  profileUserTopPhoto\n  __typename\n}\n\nfragment feedContent on Feed {\n  type\n  author {\n    id\n    name\n    headerUrl\n    following\n    headerUrls {\n      url\n      __typename\n    }\n    __typename\n  }\n  photo {\n    ...photoContent\n    __typename\n  }\n  canAddComment\n  llsid\n  status\n  currentPcursor\n  __typename\n}\n\nquery visionProfilePhotoList($pcursor: String, $userId: String, $page: String, $webPageArea: String) {\n  visionProfilePhotoList(pcursor: $pcursor, userId: $userId, page: $page, webPageArea: $webPageArea) {\n    result\n    llsid\n    webPageArea\n    feeds {\n      ...feedContent\n      __typename\n    }\n    hostName\n    pcursor\n    __typename\n  }\n}\n",
        'variables': {'userId': userId, 'pcursor': pcursor, 'page': "profile"}
    }
    response = requests.post(url=self.url, json=json, headers=self.headers)
    json_data = response.json()
    print(json_data)
    return json_data

9. 调用函数

if __name__ == '__main__':
    kuaishou = KuaiShou()
    # 获取评论
    kuaishou.get_comments('3xzry7secwhunai', '')
    # 发布评论
    kuaishou.post_comment('爱你', '3xgz9zaku7hig96', '3xydesqbvtrvcuq')
    # 点赞
    kuaishou.is_like('3xydesqbvtrvcuq', '3xgz9zaku7hig96')
    # 关注
    kuaishou.is_follow('3xxhfqquuachnje')
    # 创作者信息
    kuaishou.get_userInfo('3xxhfqquuachnje')
    # 获取创作者作品
    kuaishou.get_video('3xxhfqquuachnje', '')

以上就是Python实现简单自动评论自动点赞自动关注脚本的详细内容,更多关于Python自动评论点赞关注脚本的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python实现简单自动评论自动点赞自动关注脚本

本文链接: https://lsjlt.com/news/118548.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python实现简单自动评论自动点赞自动关注脚本
    目录前言开发环境原理:代码实现1. 请求伪装2. 获取搜索内容的方法3. 获取作品评论4. 自动评论5. 点赞操作6. 关注操作7. 获取创作者信息8. 获取创作者视频9. 调用函数...
    99+
    2024-04-02
  • Python编程实现简单的微博自动点赞
    目录一、实现登陆微博功能二、实现发送微博三、实现微博自动点赞觉得微博手动点赞太过麻烦? 其实自动点赞的实现并不困难! 本篇会有Cookie、session和token方面的知识,不太...
    99+
    2024-04-02
  • Python利用PyAutoGUI实现自动点赞
    目录前言思路实现总结前言 在上篇文章《Python自动操作 GUI 神器——PyAutoGUI》中,我跟大家讲解了一下 pyautogui ...
    99+
    2024-04-02
  • python实现自动抢课脚本
    自动抢课脚本使用手册 @danteking dating from 2021.12.7 and last updating at 2021.12.8 gitee仓库 github仓库 借助pyaut...
    99+
    2023-09-08
    python 脚本语言 图像识别
  • python实现自动化脚本编写
    目录1. 打开浏览器,访问p.to2. 登陆3. 修改管理员密码4. 单元测试数据5. 检查输入的数据合法性6. 获取输入错误数据之后的页面提示语7. 编写测试用例8.编写单元测试类8.1 单元测试中的通用操作8.2...
    99+
    2022-06-02
    python 自动化脚本 python 自动化脚本编写
  • emule如何实现自动关机脚本
    小编给大家分享一下emule如何实现自动关机脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!dir="E:\Temp" Set&n...
    99+
    2023-06-08
  • Android实现简单点赞动画
    本文实例为大家分享了Android实现简单点赞动画的具体代码,供大家参考,具体内容如下 思路 1、找到Activity中DecorView的RootView 2、确定点赞控件位于屏幕...
    99+
    2024-04-02
  • 用Python写脚本自动评论再也不怕碰到喷子
    自从上次在B站看到一个喷子,一个人喷一堆人,当时我就看不过去了,直接用Python写了个自动评论软件,他说一句我能说十句,当场教育喷子~   于是乎,顺便整理一下,做了一手...
    99+
    2024-04-02
  • python自动化脚本nginx_status
    运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_status脚本,大神轻喷#!/usr/bin/python # coding: utf-8 import urllib.request...
    99+
    2023-01-30
    脚本 python nginx_status
  • Python自动更新脚本
    本脚本主要针对python2.6升级至python2.7.12,并且解决了升级后不能使用yum的问题。添加了ipython功能##########################!/bin/bash path="/home/tools" i...
    99+
    2023-01-31
    自动更新 脚本 Python
  • Python实现自动回复讨论功能的脚本分享
    目录好久不见实现过程一步拿捏讨论美图好久不见 写这篇文章只是想证明一下:本博主还在呼吸 许久未更,甚是想更呐~ 这段时间生活中充斥着各种事情,感觉每天都在忙忙碌碌,偶而停下疲惫的身躯...
    99+
    2024-04-02
  • 怎么用bat脚本实现自动关机
    这篇文章主要介绍“怎么用bat脚本实现自动关机”,在日常操作中,相信很多人在怎么用bat脚本实现自动关机问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用bat脚本实现自动关机”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-09
  • python自动化实现的简单使用
    目录环境配置定位1.Link_text定位超链接2.混合元素定位3.Xpath定位(通常)4.css定位操作1.实现输入框自动输入2.清空输入框3.上传文件4.自动化执行javaSc...
    99+
    2024-04-02
  • oracle 多实例自动启动脚本
    #!/bin/sh#start mutli oralce instance#create by zwy#date 2017-10-25port_cnt=`ss -lnp|grep 1521|wc -l`if...
    99+
    2024-04-02
  • 十个简单使用的Python自动化脚本分享
    目录1.给照片添加水印2.检测文本文件的相似性3.对文件内容进行加 密4.将照片转换为PDF5.修改照片的长与宽6.对于照片的其他操作7.测试网速8.货币汇率的转换9.生成...
    99+
    2024-04-02
  • Python自动发邮件脚本
    缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了,先发一个月,看看效...
    99+
    2022-06-04
    发邮件 脚本 Python
  • Python脚本实现自动登录校园网
    Python自动化脚本登录校园网 所需工具:python编译环境(博主使用的pycharm作演示,其实在cmd也可以操作!) selenium自动化脚本 .bat批处理文件 第一步...
    99+
    2024-04-02
  • 利用Python实现FGO自动战斗脚本,
      Fate/Grand Order(非的肝不过欧的)作为索尼为了拯救自己不倒闭而开发的面向月厨的骗氪养成抽卡爆肝游戏,居然没有像隔壁《阴阳师》的自动战斗系统(看看别人现在都自带脚本了)。毕竟是懒得肝,就不妨写一个脚本来肝算了,省时省力...
    99+
    2023-01-30
    脚本 Python FGO
  • Shell脚本实现监控kingate并自动启动
    自己在vps做的kingate服务端,估计最近占用流量太大了,老是被服务商把我vps重启,但kingate这个东西是一旦被强制结束掉,是无法开机启动的,因为要把kingate.pid这个文件删除了才能启动,...
    99+
    2022-06-04
    脚本 自动启动 Shell
  • Android简单实现无限滚动自动滚动的ViewPager
    经常我们会在应用中看到一个可以自动滚动,并且无限滚动的一个ViewPager,百度谷歌上面也有很多关于这方面的教程,但是感觉都略显麻烦,而且封装的都不是很彻底。所以试着封装一个...
    99+
    2022-06-06
    自动 viewpager Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作