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爬取抖音小视频相关推荐

  1. python爬抖音短视频_python爬取抖音小视频

    import os,json,requests #伪装头 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) App ...

  2. 爬虫项目实战三:爬取抖音短视频

    爬取抖音网页版短视频 目标 项目准备 网站分析 反爬分析 每一页的链接分析 代码实现 效果显示 目标 爬取抖音短视频,批量下载到本地. 项目准备 软件:Pycharm 第三方库:requests,fa ...

  3. python好用 appium fiddler_python3 爬虫实战:mitmproxy 对接 python 下载抖音小视频

    一.前言 前面我们已经用 appium 爬取了微信朋友圈,今天我们学习下 mitmproxy,mitmproxy 是干什么的呢,它跟 charles 和 fiddler类似,是一个抓包工具,以控制台的 ...

  4. 使用python爬取抖音app视频(appium可以操控手机)

    记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 思 ...

  5. python3 爬虫实战:mitmproxy 对接 python 下载抖音小视频

    From:https://blog.csdn.net/Fan_shui/article/details/81461253 一.前言 前面我们已经用 appium 爬取了微信朋友圈,今天我们学习下 mi ...

  6. python3爬虫实战(三):mitmproxy对接python下载抖音小视频

    一.前言 前面我们已经用appium爬取了微信朋友圈,今天我们学习下mitmproxy,mitmproxy是干什么的呢,它跟charles和fiddler类似,是一个抓包工具,以控制台的形式显示,mi ...

  7. Python爬取抖音app视频

    作者:哈库呐玛塔塔 来源:https://urlify.cn/ANzAre 记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitm ...

  8. 青灯教育python免费公开课_如何使用Python爬取抖音APP视频

    记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 假 ...

  9. 教你用python爬取抖音app视频

    记录一下如何用python爬取app数据,本文以爬取抖音视频app为例. 编程工具:pycharm app抓包工具:mitmproxy app自动化工具:appium 运行环境:windows10 思 ...

最新文章

  1. java.sql.SQLException: 关闭的 Resultset: next
  2. python3 创建简单的游戏窗口,并有单独的配置文件
  3. html的meta属性
  4. 论文笔记——Deep Model Compression Distilling Knowledge from Noisy Teachers
  5. Bzoj3998 弦论
  6. php 将字符串打乱,PHP内部实现打乱字符串顺序函数str_shuffle的方法
  7. 打不开baidu晓得、百科等可是其他网页正常的解决方法
  8. 为XNA制做安装程序(四)WIX Toolset 3.0 for Visual Studio 2008
  9. java序列化,看这篇就够了
  10. 凸优化第七章统计估计 7.1 参数分布估计
  11. 设置a标签下载文件的文件名
  12. 数学建模:Malthus人口模型
  13. Android入门,android基础开发
  14. 璞华PLM为全场景产品生命周期管理赋能,助力产品主线的企业数字化转型
  15. 结构力学支座位移与温度荷载、力法与矩阵位移法、图乘法核心思想
  16. 一篇文章带你搞懂 JPA 和 hibernate
  17. word ppt中设置TAB缩进量
  18. switchhosts使用指南
  19. 【算法】常见数据结构基本算法整理
  20. Org-mode + GitHub 搭建自己的云笔记

热门文章

  1. 如何安裝破解Nuke11?
  2. 爬取google scholar
  3. Protege、D2RQ、JENA与SPARQL
  4. 棋盘上的米粒(米粒问题)——多重循环的进阶
  5. 如何用DreamMail (DM Pro) 模板提高工作效率?
  6. 【Android -- 开源库】Google VR 给用户呈现 360° 全景图
  7. linux进入mysql查询彪哥,MySQL数据库语法的初步了解
  8. Dreamweaver 搜索里的正则表达式
  9. 直播回顾 | 子芽CCF TF:云原生场景下软件供应链风险治理技术浅谈
  10. Vue3+Vite+TypeScript+element Plus框架搭建过程(3)