抖音自动评论点赞脚本(win11+python)

准备工作:

1. 安装ADB(Android Debug Bridge):ADB是一个命令行工具,用于与安卓设备进行通信。

下载地址:https://developer.android.com/studio/releases/platform-tools

下载后解压,并将安装路径加入环境变量,在cmd中输入adb version查看是否安装成功

2. 安装Python环境:你需要安装Python环境来运行脚本。

下载并安装:https://www.python.org/downloads/

安装完成后,需要手动设置环境变量,同样cmd输入python查看是否安装成功

3. 安装uiautomator2库:uiautomator2是一个用于自动化测试安卓设备的Python库。

你可以使用以下命令安装:

pip install uiautomator2

4. 编写代码:以下是一个简单的Python脚本,用于实现抖音自动评论功能。

请确保你的设备已连接到电脑,并且已经开启USB调试模式。

或者用模拟器,模拟器也需要打开开发者选项并开启USB调试模式。

import uiautomator2 as u2
import time

d = u2.connect()
print(d.info)
d(text='抖音').click()
time.sleep(30)

d(resourceId='com.ss.android.ugc.aweme:id/g=b').click()
d.send_keys('萌宠')

.......

以上实现自动打开抖音,并搜索感兴趣的视频。

遇到的问题:uiautomator +weditor定位不到手机上的元素,现象是weditor点击connect提示本地服务未开启,但是adb可以连接手机,在网上找了好多方法均未能解决问题,后续有空再研究。

### 使用Python爬取视频的数和收藏数 为了获取视频的具体互动数据(如数、收藏数),通常有两种主要方法:通过官方API接口访问或利用网络爬虫技术。然而,直接调用官方API可能需要特定权限或许可证,并不适合所有人使用。 对于后者,在实际操作过程中存在一些挑战[^2]。例如,自动化模拟用户行为来滚动加载更多内容并保持会话状态较为复杂;同时,由于平台的安全机制不断更新,简单地解析HTML页面难以稳定获得所需信息。因此,更可行的方式是从HTTP请求层面入手分析目标资源的位置。 #### 方法一:基于浏览器开发者工具捕获AJAX请求 1. 打开Chrome/Firefox等现代Web浏览器; 2. 访问PC端网站并定位至感兴趣的板块; 3. 利用F12打开开发者模式下的Network面板监控流量; 4. 查找携带了`video/aweme/v1/feed/?...`样式的URL路径,这往往是返回JSON格式的数据流入口之一; 5. 解码响应体中的json字符串即可得到包括但不限于作品ID(`aweme_id`)、作者昵称(`nickname`)以及统计字段在内的结构化对象集合。 ```python import requests from urllib.parse import urlencode def fetch_video_stats(vid): base_url = 'https://www.douyin.com/web/api/v2/aweme/iteminfo/' params = { 'item_ids': vid, '_signature': '', # 这里省略签名算法细节 } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)', 'Referer': f'https://v.douyin.com/{vid}/' } url = '{}?{}'.format(base_url, urlencode(params)) resp = requests.get(url=url, headers=headers) if resp.status_code != 200: raise Exception(f'Failed to load page {url}') data = resp.json() stats = data['item_list'][0]['statistics'] likes_count = stats['digg_count'] # 数量 collect_count = stats['collect_count'] # 收藏次数 return {'likes': likes_count, 'collections': collect_count} ``` 此脚本展示了如何构建一个简单的函数去查询单个视频的相关统计数据。需要注意的是,上述代码片段仅为示意目的编写,真实环境中还需要处理诸如身份验证令牌(_signature)生成等问题。 #### 方法二:借助Scrapy框架开发分布式爬虫项目 当面对更大规模的任务需求时,则可以考虑采用更加专业的解决方案——Scrapy。这是一种专为高效抓取互联网公开资料设计的强大库,支持异步I/O模型从而提高并发性能。下面给出一段简化后的Spider模板: ```python import scrapy from ..items import DouyinVideoStatItem class VideoStatsSpider(scrapy.Spider): name = "dy_stat" allowed_domains = ["douyin.com"] start_urls = ['http://example.com/video/list'] def parse(self, response): video_links = response.css('.video-item::attr(href)').extract() for link in video_links[:]: yield scrapy.Request( url=link, callback=self.extract_data_from_page ) def extract_data_from_page(self, response): item = DouyinVideoStatItem() try: json_data = eval(response.text.strip().replace('true', 'True').replace('false', 'False')) stat_info = json_data['body']['detail'].get('stat') item['like_num'] = int(stat_info.get('diggCount')) # 获取数目 item['bookmark_num'] = int(stat_info.get('collectCount'))# 获取收藏数目 yield item except KeyError as e: print(e) ``` 这段程序定义了一个名为`VideoStatsSpider`的新类继承自`scrapy.Spider`基类,并实现了两个核心回调方法用于遍历列表页链接及提取详情页内的关键属性值。此外还引入了之前提到过的Items容器以便于后续持久化保存所收集的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值