mitmproxy+appium爬取抖音小视频
mitmproxy+appium爬取抖音小视频
目标
自动化爬取抖音APP小视频,随机获取用户,下载五个小视频,结果以用户ID为单位保存至video目录
环境配置
见:
视频下载
dy_mitmdump.py
import urllib.request
import json
import ospath = 'C:\\Users\\only\\Desktop\\video\\'
url_key = '/aweme/v1/aweme/post'def response(flow):if url_key in flow.request.url:data = json.loads(flow.response.text) # 以json方式加载responseu_id = data['aweme_list'][0]['author']['uid'] # 用户ID,不可见unique_id = data['aweme_list'][0]['author']['unique_id'] # 抖音号u_name = data['aweme_list'][0]['author']['nickname'] # 昵称# 以用户ID为目录,判断用户ID,不下载重复文件user_path = path + u_idif not os.path.exists(user_path):os.mkdir(user_path)# os.makedirs(user_path)num = 1for data in data['aweme_list']:video_name = data['desc'] or data['aweme_id'] # 视频描述或视频ID,作为文件名video_url = data['video']['play_addr']['url_list'][0] # 视频链接filename = user_path + '\\' + video_nameurllib.request.urlretrieve(video_url, filename=filename + '.mp4')print('下载完成:' + filename)if num < 5:num += 1else:break
Appium自动化测试
dy_appium.py
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
from time import sleepserver = 'http://localhost:4723/wd/hub'
desired_caps = {'platformName': 'Android','deviceName': 'OPPO_A53m','appPackage': 'com.ss.android.ugc.aweme','appActivity': '.main.MainActivity'
}# 启动回话
driver = webdriver.Remote(server, desired_caps)
print('启动会话完成')# 关闭提示
sleep(5)
TouchAction(driver).tap(x=360, y=1024).perform() # 关闭提示
sleep(1)
TouchAction(driver).tap(x=374, y=564).perform() # 关闭上滑# 动力链
while True:# 点击进入用户主页sleep(1)# TouchAction(driver).tap(x=653, y=370).perform() # 有时点进关注页面?driver.tap([(650, 360)], 500)sleep(2)# 返回推荐try:driver.find_element_by_id('com.ss.android.ugc.aweme:id/aae')except Exception:try:driver.find_element_by_id('com.ss.android.ugc.aweme:id/dag')except Exception:print("关闭直播")TouchAction(driver).tap(x=374, y=564).perform() # 关闭提示TouchAction(driver).tap(x=675, y=50).perform() # 关闭直播else:print('关闭广告')TouchAction(driver).tap(x=45, y=103).perform()else:print('正常返回')TouchAction(driver).tap(x=40, y=100).perform()sleep(1)# 滑动下一个视频# TouchAction(driver).press(x=342, y=938).move_to(x=368, y=267).release().perform() # 有时点成长按?driver.swipe(340, 918, 340, 230)
Result
以此记录一下爬取过程,欢迎大家一起来学习交流。
mitmproxy+appium爬取抖音小视频相关推荐
- python爬抖音短视频_python爬取抖音小视频
import os,json,requests #伪装头 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) App ...
- 爬虫项目实战三:爬取抖音短视频
爬取抖音网页版短视频 目标 项目准备 网站分析 反爬分析 每一页的链接分析 代码实现 效果显示 目标 爬取抖音短视频,批量下载到本地. 项目准备 软件:Pycharm 第三方库:requests,fa ...
- python好用 appium fiddler_python3 爬虫实战:mitmproxy 对接 python 下载抖音小视频
一.前言 前面我们已经用 appium 爬取了微信朋友圈,今天我们学习下 mitmproxy,mitmproxy 是干什么的呢,它跟 charles 和 fiddler类似,是一个抓包工具,以控制台的 ...
- 使用python爬取抖音app视频(appium可以操控手机)
记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 思 ...
- python3 爬虫实战:mitmproxy 对接 python 下载抖音小视频
From:https://blog.csdn.net/Fan_shui/article/details/81461253 一.前言 前面我们已经用 appium 爬取了微信朋友圈,今天我们学习下 mi ...
- python3爬虫实战(三):mitmproxy对接python下载抖音小视频
一.前言 前面我们已经用appium爬取了微信朋友圈,今天我们学习下mitmproxy,mitmproxy是干什么的呢,它跟charles和fiddler类似,是一个抓包工具,以控制台的形式显示,mi ...
- Python爬取抖音app视频
作者:哈库呐玛塔塔 来源:https://urlify.cn/ANzAre 记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitm ...
- 青灯教育python免费公开课_如何使用Python爬取抖音APP视频
记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 假 ...
- 教你用python爬取抖音app视频
记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 思 ...
最新文章
- java.sql.SQLException: 关闭的 Resultset: next
- python3 创建简单的游戏窗口,并有单独的配置文件
- html的meta属性
- 论文笔记——Deep Model Compression Distilling Knowledge from Noisy Teachers
- Bzoj3998 弦论
- php 将字符串打乱,PHP内部实现打乱字符串顺序函数str_shuffle的方法
- 打不开baidu晓得、百科等可是其他网页正常的解决方法
- 为XNA制做安装程序(四)WIX Toolset 3.0 for Visual Studio 2008
- java序列化,看这篇就够了
- 凸优化第七章统计估计 7.1 参数分布估计
- 设置a标签下载文件的文件名
- 数学建模:Malthus人口模型
- Android入门,android基础开发
- 璞华PLM为全场景产品生命周期管理赋能,助力产品主线的企业数字化转型
- 结构力学支座位移与温度荷载、力法与矩阵位移法、图乘法核心思想
- 一篇文章带你搞懂 JPA 和 hibernate
- word ppt中设置TAB缩进量
- switchhosts使用指南
- 【算法】常见数据结构基本算法整理
- Org-mode + GitHub 搭建自己的云笔记
热门文章
- 如何安裝破解Nuke11?
- 爬取google scholar
- Protege、D2RQ、JENA与SPARQL
- 棋盘上的米粒(米粒问题)——多重循环的进阶
- 如何用DreamMail (DM Pro) 模板提高工作效率?
- 【Android -- 开源库】Google VR 给用户呈现 360° 全景图
- linux进入mysql查询彪哥,MySQL数据库语法的初步了解
- Dreamweaver 搜索里的正则表达式
- 直播回顾 | 子芽CCF TF:云原生场景下软件供应链风险治理技术浅谈
- Vue3+Vite+TypeScript+element Plus框架搭建过程(3)