Python带你实现批量自动点赞小程序

news/2024/4/29 17:57:29/文章来源:https://blog.csdn.net/weixin_62853513/article/details/130727996

前言

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

所用知识点:

  • 动态数据抓包

  • requests发送请求

  • json数据解析

开发环境:

  • python 3.8 运行代码

  • pycharm 2022.3 辅助敲代码

  • requests 请求模块 ,第三方,需安装

    win + R 输入cmd 输入安装命令 pip install 模块名

爬虫案例如何实现

  1. 发送请求

  2. 获取数据

  3. 解析数据

  4. 保存数据

代码展示

导入模块

import requests
  1. 发送请求
url = 'https://*****/graphql'

伪装

# a. 请求方式是什么?
# post
# b. 请求头
headers = {# 登陆之后,cookie里面会存储账号信息'Cookie': 'kpf=PC_WEB; clientid=3; did=web_4bf90ac4df8aaef2d99527f1da1063fd; userId=3075864129; kpn=KUAISHOU_VISION; kuaishou.server.web_st=ChZrdWFpc2hvdS5zZXJ2ZXIud2ViLnN0EqABwgHhKM9-oogbgtutzowJEttqd5KamRJ9hNag-Elf82OEdJdt4lodSEThrdp1MLPgFl-6cdtZ1dshlUAYh-sHYS3dgBB8iZ_tqBzosa79OffPexwG6aWCkIgjdglclYP7KtYppEXrzXdwGt-2d-ZB6IxGTWINrZ5HOtAFzVukl4W23Vy2n19JBxuHMJDxpP4sBwW4rFP0QNklm91AbvsvsBoS7YoRGiN2PM_7zCD1Dj9m5oYoIiCaVnNEAqYiNgeeOzP3DC_9EWJBkH_O0cAr7fedfqlmeigFMAE; kuaishou.server.web_ph=507361000af22c186ded0b017d8e740f042a',# 域名'Host': 'www.****',# 防盗链'Referer': 'https://*****/profile/3xgapy2dxxbzsvw',# 设备信息'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'
}
pcursor = ""
while True:# c. 请求参数(请求体)json = {'operationName':"visionProfilePhotoList",'query':"fragment photoContent on PhotoEntity {\n  id\n  duration\n  caption\n  originCaption\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  musicBlocked\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  tags {\n    type\n    name\n    __typename\n  }\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': "3xjqise3ywy8abk", 'pcursor': pcursor, 'page': "profile"}}response = requests.post(url=url, headers=headers, json=json)
  1. 获取数据
    # Python字典json_data = response.json()
  1. 解析数据 提取数据 需要的数据
    feeds = json_data['data']['visionProfilePhotoList']['feeds']pcursor = json_data['data']['visionProfilePhotoList']['pcursor']for feed in feeds:caption = feed['photo']['caption']photoUrl = feed['photo']['photoUrl']# 点赞 / 评论 / ...._id = feed['photo']['id']author_id = feed['author']['id']expTag = feed['photo']['expTag']like_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}\n",'variables': {'cancel': 0, 'expTag': expTag, 'photoAuthorId': author_id, 'photoId': _id}}resp = requests.post(url=url, headers=headers, json=like_json)print(resp)# print(caption, photoUrl)# video_data = requests.get(photoUrl).content
  1. 保存数据
        # with open(f'{caption}.mp4', mode='wb') as f:#     f.write(video_data)if pcursor == 'no_more':break

尾语 💝

好了,今天的分享就差不多到这里了!

完整代码、更多资源、疑惑解答直接点击下方名片自取即可。

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_302289.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初步认识性能测试和完成一次完整的性能测试

上一篇博文主要通过两个例子让测试新手了解一下测试思想,和在做测试之前应该了解人几点,那么我们在如何完成一次完整的性能测试呢? 测试报告是一次完整性能测试的体现,所以,这里我给出一个完整的性能测试报告&#xff…

springBoot中使用redis实现分布式锁实例demo

首先 RedisLockUtils工具类 package com.example.demo.utils;import org.junit.platform.commons.util.StringUtils; import org.springframework.context.annotation.Bean; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.red…

SAP入门到放弃系列之需求管理的基本要素

需求管理目标: 一般而言,生产计划(PP)的总体目标,特别是需求管理的总体目标是通过减少以下内容来更好地为客户服务: 补货提前期存货成本 需求管理的要素: 需求管理工作的主要要素广义上可分…

❤ cannot read properties of null(reading appendChild)解决办法

❤ 操作元素报&#xff1a;cannot read properties of null(reading appendChild)解决办法 1、场景&#xff1a; 写的一个js渲染&#xff0c;但是出了个小问题&#xff0c;cannot read properties of null(reading appendChild)报错。 <div id"divps" class&qu…

机器学习项目实战-能源利用率 Part-1(数据清洗)

1. 项目背景 2009年的《当地法案84号》&#xff0c;或纽约市基准法案&#xff0c;要求对能源和用水量进行年度基准测试和披露信息。被覆盖的财产包括单个建筑物的税收地块&#xff0c;其总建筑面积大于50,000平方英尺&#xff08;平方英尺&#xff09;&#xff0c;以及具有超过…

OpenAI新作Shap-e算法使用教程

一、知识点 Shap-e是基于nerf的开源生成3d模型方案。它是由如今热火朝天的Open AI公司&#xff08;chatgpt&#xff0c;Dell-E2&#xff09;开发、开源的。Shap-e生成的速度非常快&#xff0c;输入关键词即可生成简单模型&#xff08;限于简单单体模型&#xff09;。 二、环境…

别去外包,干了三年,废了....

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

jetson nx 用windows远程连接

VNC Viewer远程连接 一、jetson nx配置vnc 1、安装客户端 sudo apt-get install xrdp vnc4server xbase-clients2、进入nano/nx桌面&#xff0c;打开“Setting–>Desktop sharing”&#xff0c;没反应&#xff0c;据说是bug&#xff0c;我试过nano和nx都一样。首先输入下…

springboot+jsp法律知识分享网站普法平台

法律知识分享平台&#xff0c;主要的模块包括查看主页、个人中心、用户管理、律师事务所管理、律师管理、法律资讯管理、案例分析管理、案例分享管理、法规信息管理、法规分享管理、留言信息管理、留言回复管理、论坛管理、系统管理等功能。系统中管理员主要是为了安全有效地存…

Docker笔记7 | 如何使用 Docker Compose 搭建一个拥有权限 认证、TLS 的私有仓库?

7 | 如何使用 Docker Compose 搭建一个拥有权限 认证、TLS 的私有仓库&#xff1f; 1 准备工作2 准备站点证书2.1 创建CA私钥2.2 创建CA根证书请求文件2.3 配置CA根证书2.4 签发根证书2.5 生成站点SSL私钥2.6 私钥生成证书请求文件2.7 配置证书2.8 签署站点SSL证书 3 配置私有仓…

低代码行业的发展真的可以让复杂的代码编写一去不复返?

前言 传统的软件开发过程往往需要耗费大量的时间和精力&#xff0c;因为开发人员需编写复杂的代码以完成各种功能。 低代码行业的发展&#xff0c;正好解决了这个问题&#xff0c;让复杂的代码编写一去不复返了。 文章目录 前言引入强大的平台总结 引入 低代码平台 是一种通过可…

Go基础篇:接口

目录 前言✨一、什么是接口&#xff1f;二、空接口 interface{}1、eface的定义2、需要注意的问题 三、非空接口1、iface的定义2、itab的定义3、itab缓存 前言✨ 前段时间忙着春招面试&#xff0c;现在也算告一段落&#xff0c;找到一家比较心仪的公司实习&#xff0c;开始慢慢回…

yum和repo详细解析

目录 一、rpm、yum、repo 二、repo文件详细解析 三、常用命令 四、更改epel.repo为清华源 一、rpm、yum、repo RPM RPM(Red-hat Package Manager)&#xff0c;是一个由红帽最早开发出来的包管理器&#xff0c;目前已经是大多数Linux发行的默认包管理器。RPM管理的包都是以…

程序员一个月拿两万,得知卖猪肉可以赚五万,你是选择做程序员还是卖猪肉?

在知乎上看到这么个帖子&#xff0c;觉得挺有意思&#xff0c;大家一起瞧瞧&#xff1f; 对此&#xff0c;我也看到了许多犀利的回答哈 **A&#xff1a;**我反过来问你&#xff0c;如果一对夫妇卖猪肉一个月只能挣一万&#xff0c;听说一名程序员一个月拿五万&#xff0c;他们…

刷题day66:目标和

题意描述&#xff1a; 给你一个整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可以在 2 之前添加 &#xff0c;在 1 之前添…

【简介】限流

限流 为什么要限流限流算法单机限流计数器算法滑动窗口算法漏桶算法令牌桶算法 分布式限流配额算法 限流策略限流位置 为什么要限流 作为有追求的程序员&#xff0c;我们都希望自己的系统跑的飞快&#xff0c;但是速度再快&#xff0c;系统处理请求耗时也不可能为0&#xff0c…

[MYAQL / Mariadb] 数据库学习-管理表记录2:匹配条件

管理表记录-匹配条件 匹配条件基本条件查询逻辑匹配&#xff08;多个条件判断&#xff09; 高级条件范围匹配模糊查询正则表达式&#xff1a; regexp四则运算 操作查询结果&#xff08;对查找到的数据再做处理&#xff09;排序分组&#xff08;一样的显示一次&#xff09;&…

【网络】交换机基本原理与配置

目录 &#x1f341;交换机工作原理 &#x1f341;交换机接口的双工模式 &#x1f341;交换机命令行模式 &#x1f341;交换机常见命令 &#x1f9e7;帮助命令 &#x1f9e7;常用命令介绍 &#x1f341;交换机的基本配置 &#x1f9e7;配置接口的双工模式及速率 &#x1f990;博…

janus videoroom 对接freeswitch conference 篇1

janus videoroom 实时性非常好&#xff0c; freeswitch conference的功能也很多 &#xff0c;有没办法集成到一块呢 让很多sip 视频终端也能显示到videoroom 里面&#xff0c; 实现方式要不两种 1.改源码实现 &#xff08;本文忽略 难度高&#xff09; 2.找一个videoroom管…

05mysql---函数

目录 1:日期函数 2:字符函数 3:数值函数 4:流程函数 1:日期函数 select 函数(参数) 函数功能举例curdate()返回当前日期2023-05-17curtime()返回当前时间14:44:33now()返回当前日期和时间2023-05-17 14:44:33year(date)获取指定date的年份month(date)获取指定date的月份day…