人生苦短,我用Python

  • 序言
  • 抓包分析流程
  • 开始代码

序言

是我太久没发了吗?昨天没人看,那么今天来点特别的~

不仅把好看的视频全部pa下来,咱们还要实现自动评论、点赞、关注三连~

宝,你也可以顺手给我个三连吗?给你个摸摸大~

抓包分析流程

我写成了文档,都在这个PDF里面了,但是好像不能上传,所以点一下大家自行下载吧!
点我获取,提取密码 qwer

开始代码

获取视频的代码

import requests     # 发送请求 第三方模块(第三方应用 pip)
import re# 伪装
# 1. 选中要替换的代码
# 2. ctrl + R
# 3. 第一个框(.*?): (.*)
# 4. 在第二个框里面输入 '$1': '$2',
# 5. 点击全部替换(* 点亮 * 号)
headers = {'content-type': 'application/json','Cookie': 'kpf=PC_WEB; kpn=KUAISHOU_VISION; clientid=3; did=web_ea128125517a46bd491ae9ccb255e242; client_key=65890b29; didv=1646739254078; userId=270932146; kuaishou.server.web_st=ChZrdWFpc2hvdS5zZXJ2ZXIud2ViLnN0EqABctRgGaXi5efEBpnbdtJMp3nnnXqENRWBoFQABtOr1ZFUNAjEo5NTZ4F0leSypsSFE4_-FGTnBqKEYh8Wcrszm3FGF03559Z9bFQCX_8ew_kLKPWVB9ZRlWQgISoG4-XZXIOqiBgkQKsPbpYKiA3X4_0rMDbo9-c0nWXeOoThekj8W3u7_yfI4fUY3h5WgTEDYT0yrXkZmhWlFV_jpVxDrBoSzFZBnBL4suA5hQVn0dPKLsMxIiCo1i0bY9V6-OVEk7yMnH86RNliTZACHvLPjL9FTHHQOigFMAE; kuaishou.server.web_ph=09735672944cbf9e53431bf3e0514a0d058b','Host': 'www.***.com','Origin': 'https://www.***.com',# 防盗链'Referer': 'https://www.kuaishou.com/profile/3xhv7zhkfr3rqag','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36',
}
url = 'https://www.***.com/graphql'def get_page(pcursor):# 指定要谁的视频data = {"operationName": "visionProfilePhotoList","query": "query 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      type\n      author {\n        id\n        name\n        following\n        headerUrl\n        headerUrls {\n          cdn\n          url\n          __typename\n        }\n        __typename\n      }\n      tags {\n        type\n        name\n        __typename\n      }\n      photo {\n        id\n        duration\n        caption\n        likeCount\n        realLikeCount\n        coverUrl\n        coverUrls {\n          cdn\n          url\n          __typename\n        }\n        photoUrls {\n          cdn\n          url\n          __typename\n        }\n        photoUrl\n        liked\n        timestamp\n        expTag\n        animatedCoverUrl\n        stereoType\n        videoRatio\n        profileUserTopPhoto\n        __typename\n      }\n      canAddComment\n      currentPcursor\n      llsid\n      status\n      __typename\n    }\n    hostName\n    pcursor\n    __typename\n  }\n}\n","variables": {"userId": "3x2vsxyxbbwcjta", "pcursor": pcursor, "page": "profile"}}# 1. 发送请求  get  postresponse = requests.post(url=url, headers=headers, json=data)# <Response [200]>: 请求成功# 2. 获取数据 .json() 返回字典类型数据# .text: 拿到的就是 文本内容 python数据类型 字符串 > 字典类型 > 键值对(拼音)方式取值json_data = response.json()# 3. 解析数据# 新华字典 = {'A': '啊', 'B': '不', 'C': '从'}# 新华字典['B']  python数据容器 存储数据# 正则feeds = json_data['data']['visionProfilePhotoList']['feeds']pcursor = json_data['data']['visionProfilePhotoList']['pcursor']for feed in feeds:photoUrl = feed['photo']['photoUrl']caption = feed['photo']['caption']# 正则替换# 第一个参数里面是需要替换的一些字符# 第二个参数 是把这些字符替换为 空# 第三个参数 是需要替换的变量# \\ : \# \/ : /caption = re.sub('[\\\/:*?"<>|\n]', '', caption)print(caption, photoUrl)# 4. 保存数据  如果你们拿到的链接 就是 视频 或者 音频 或者 图片# .content: 获取视频(音频 / 图片) 二进制数据video_data = requests.get(photoUrl).content# 视频名称# wb 以二进制覆盖写入with open(f'video/{caption}.mp4', mode='wb') as f:f.write(video_data)# 递归: 2.出口if pcursor == "no_more":# 退出?return# 递归: 1.自己调用自己get_page(pcursor)get_page("")

自动评论

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

自动点赞

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

自动关注

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

代码不会操作,也有详细的视频讲解,可以左侧扫码获取~

溜了溜了,今天就到这里,兄弟们快去试试吧!

用Python把视频批量保存本地,实现自动三连(点赞评论关注)相关推荐

  1. python怎么下载图片怎么保存到本地_详解Python下载图片并保存本地的两种方式

    一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码: import os,stat import urllib.request img_url ...

  2. 干货案例!Python实现视频批量加水印,仅需50行代码

    最近由于工作安排,同事需要经常大批量给视频添加水印,昨天反馈给我说,用的某软件批量添加水印过程真的很繁琐,效率也很低,加一个水印要好几分钟时间,你能不能帮我开发一个小工具直接达到"一键添加& ...

  3. Python爬取图片并保存本地

    好久没用requests写爬虫了,因为是国内的网站,展示没有使用代理IP,而且爬取的数据不多. 1.第一步将要爬取的网页链接爬取下来.这句话有些矛盾. url='http://www.supe.com ...

  4. python将图片批量保存至word文档中

    def picture_docx(path_picture,path_docx):# 要插入的图片所在的文件夹#fold = 'C:\\Users\\Administrator\\Desktop\\t ...

  5. 用Python下载视频,保存至文件的demo

    def download_video(url):try:print('准备下载视频:'+url)response=requests.get(url,headers=headers)data=respo ...

  6. FFmpeg —— 视频帧保存本地图片(.jpg文件)

    JPG      JPEG(Joint Photographic Experts Group)是JPEG标准的产物,该标准由国际标准化组织(ISO)制订,是面向连续色调静止图像的一种压缩标准. JPE ...

  7. python操作图片批量保存成PDF文件

    有个脚本需求: 就是把一个一个图片获取下来,并把图片拼接成一个PDF文档. 代码如下: # -*- coding: utf-8 -*- """ Created on Mo ...

  8. 微信公众号文章批量保存到本地的方法

    其他不多说,直接入主题,目前比较常见的保存微信文章的方法有以下几种,简要分析如下: 1. 手动保存 微信登陆电脑客户端,用自带浏览器打开微信公众号文章,然后选择,复制,粘贴到Word里,进行保存. 这 ...

  9. android 图片保存电脑上,怎样简单快速的将手机里的照片和视频,批量保存到电脑?...

    原标题:怎样简单快速的将手机里的照片和视频,批量保存到电脑? 手机用久了,内存怎么都不够用,因为照片和视频占据了大部分的存储空间,需不定期将照片和视频保存到电脑里,以腾出空间来,让手机有更多的空间来存 ...

最新文章

  1. 为什么说多道程序概念得到了中断和通道技术的支持?
  2. Zabbix的安装(源码安装)
  3. python输入直角三角形a、b、输出斜边c_编写一个程序,输入直角三角形两条直角边a和b的长度,利用勾股定理计算斜边c的长度。要求结果保留2位...
  4. 数字孪生+交通,到底有啥用?
  5. 图文列表+欢迎页面+音乐控制小程序模板
  6. MySQL Mathematical Functions(数学方法)
  7. 刷新按钮_处理数据透视表的隐藏选项(四):固定报表刷新前后的列宽和格式...
  8. 对象行为型 - 模版方法模式
  9. 听音乐是运用计算机的技术,计算机音乐技术在电影音乐中的运用
  10. scipy模块_misc模块,imread,imresize, imsave / imshow/ imrotate
  11. 一键安装包php.ini,laravel 在windows中使用一键安装包步骤
  12. java aes iv_java AES加密解密
  13. Math.cbrt() Math.sqrt() Math.pow()
  14. 【阅读论文】第八章--多图像的质量增强--博-自动化眼底图像分析技术可筛查糖尿病患者的视网膜疾病
  15. opengl png图片 qt_Qt学习:三维绘图之OpenGL和Qt的结合(转)
  16. ptp精准时间协议_网络时钟同步协议– NTP, PTP – 默默的点滴
  17. 【web项目】前端生日礼物--clock篇
  18. 王者荣耀微信哪个服务器人多,王者荣耀微信区和qq区哪个厉害
  19. ad9516-4时钟芯片配置注意事项
  20. 长城汽车能否冲破价格战“困局”?

热门文章

  1. 游戏建模之写实高级影视肖像《傲慢女爵》
  2. 计算机性能指标分数,vista分数意思
  3. php 下载png图片功能实现
  4. JAVA多线程下载器
  5. 目录 -- Vue.js 3.0 企业级管理后台开发实战 基于Element Plus
  6. C# 高仿腾讯QQ (TextBox控件美化)(附源码)
  7. print driver host for applications 已停止工作
  8. 校招慕课Java面试新手尊享课笔记——Java基础从数据类型到类
  9. python 生成器 send_python(可迭代对象,迭代器,生成器及send方法详解)
  10. MySQL text字符超长