开发环境:ubuntu
相关工具:python、mitmproxy、appium、adb、安卓手机一台
项目逻辑:利用自动化测试工具appium控制手机刷抖音,同时开启mitmdump拦截手机端的所有请求信息,开启mitmproxy事件监听,当监听到需要的请求时,解析response。
下面就讲讲具体如何实现:
1、安装相关工具,网上很多教程,可以自行百度。

2、手机开启代理并安装ca证书
先确保手机跟pc在同一网络,然后打开手机wifi,修改网络

设置好代理之后安装ca证书,打开终端输入命令 cd ~/.mitmproxy 
双击mitmproxy-ca-cert.pem 设为受信用证书,然后使用adb工具把证书发送到手机sd卡,adb push mitmproxy-ca-cert.pem ./sdcard (要在证书目录下执行此命令),手机端找到证书并安装。

3、开启appium服务,编写自动化控制脚本。
打开appium客户端,点start server

然后编写自动化控制脚本

STARTUP_CAPS 需要修改的地方appPackage、appActivity、platformVersion、deviceName,终端输入命令 adb shell dumpsys activity top 可查看appPackage、appActivity,手机>设置>关于本机可以查看platformVersion 系统版本,adb devices 查看deviceName。

4、mitmproxy脚本,开启事件监听

1、下载镜像docker pull mitmproxy/mitmproxy2、启动a、mitmproxy启动bdocker run --rm -it -v ~/.mitmproxy:/home/mitmproxy/.mitmproxy -p 8080:8080 mitmproxy/mitmproxyb、mitmdump启动docker run --rm -it -p 8080:8080 mitmproxy/mitmproxy mitmdumpc、mitmweb启动docker run --rm -it -p 8080:8080 -p 0.0.0.0:8081:8081 mitmproxy/mitmproxy mitmweb

新建search.py文件,
当手机端触发相应的事件,pc端就会调用对应的方法。
新建addons.py文件

执行命令 mitmdump -s addons.py 开启事件监听。

5、运行我们前面写好的自动化控制脚本,就可以爬取数据了。

可能会遇到的问题:
mitmdump运行时可能会报错
Error starting proxy server: OSError(48, ‘Address already in use’)
端口被占用,lsof -i:8080 查看占有端口的进程,杀死,然后重新运行脚本。
安卓6.0以上的手机设置代理后会出现无法上网的情况,这是证书问题,建议使用安卓4.4。

项目链接:https://github.com/jerry3747/douyin.git

原文链接:https://blog.csdn.net/jerry3747/article/details/100543430

mitmproxy+appium实现抖音关键字搜索结果自动获取,抖音爬虫相关推荐

  1. 电商开放API接口分享-商品采集接口、关键字搜索接口,获取商品ID、商品主图接口

    API是application programming interface(应用程序接口)的简称,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问 ...

  2. 使用vue-baidu-map实现地址定位标点及关键字搜索定位(获取地址数据并获取经纬度)

    实现效果: 关键字搜索或点击地图标点 获取地址数据及经纬度 修改表单时::根据数据回填地址显示标点 代码背景:: vue+antd+vue-baidu-map 实现效果: 默认选中成都 有搜索值时,显 ...

  3. jQuery 关键字搜索(自动完成效果,autocomplete)

    最近做一个项目时碰到一个需求: 有一个选择客户的下拉框,当客户比较多时(大概有100个左右),选择起来很费劲.开始是准备在下拉框旁边再加一个搜索按钮,当用户点击时弹出一个新窗口,用户输入关键字再进行搜 ...

  4. python搜索关键词自动提交_简单爬虫:调用百度接口,实现关键词搜索(python_003)...

    需求: 如何用python代码实现百度搜索关键词的功能? 比如输入关键词:"python爬虫",得到一个搜索结果的页面,并保存到本地. 这是经典的python爬虫教学案例之一,也是 ...

  5. 抖音seo搜索基础逻辑矩阵号系统源码开发搭建分析

    场景:实现单例设计模式: 思路:和创建有关的,是 construct 这个 trap,每次我们返回相同的实例即可. 抖音搜索算法是存在的,搜索算法的目的,就是为了完成视频和用户喜好的匹配度,抖音算法会 ...

  6. 抖音SEO搜索是什么?源码程序开发及系统功能框架分析

    抖音SEO搜索是什么? 抖音搜索你可以把它理解成更细分.更垂直的短视频搜索引擎.就像豆丁网一样,它就是垂直定位于中文文档的搜索引擎,可以这么说,有搜索的地方,不管是百度.抖音还是微信,都可以做搜索引擎 ...

  7. 抖音评论如何放置连接_抖音如何导流到微信?学会这些,每个账号都可以用!...

    原标题:抖音如何导流到微信?学会这些,每个账号都可以用! 如今随着抖音的火爆,越来越多的人开始从微商转战抖商,很多老板.企业.个人开始意识到抖音的重要性,而抖音超强的带货能力也让很多人想要分一杯羹. ...

  8. python实例练习(15)搜索关键词自动提交

    文章目录 简介 问题概述 完整代码实现 简介 搜索引擎是日常需要使用的工具,也是访问互联网的门户.不管你是否愿意承认,尽管搜索一个新鲜玩意儿已经是各位读者的日常,但有时候忙到会希望能够自动向搜索引擎提 ...

  9. mitmproxy+appium爬取抖音小视频

    mitmproxy+appium爬取抖音小视频 目标 自动化爬取抖音APP小视频,随机获取用户,下载五个小视频,结果以用户ID为单位保存至video目录 环境配置 见: 视频下载 dy_mitmdum ...

最新文章

  1. hdu1561 树形dp
  2. Crawler:基于requests库+json库+40行代码实现爬取猫眼榜单TOP100榜电影名称主要信息
  3. harmonyos升级名单,鸿蒙系统升级名单已曝光:超46款旗舰设备可升级
  4. 2020年周记(2/50)
  5. 最新一百期的结果与统计php
  6. 结构光三维重建阶段性总结
  7. 教你如何用Three.js创造一个三维太阳系
  8. 宽带连接蓝屏,或者显示813占用端口
  9. 遇见OFFER,阿里云最强技术团队现身招聘,“职”为你来
  10. 四种Linux硬盘分区方式,首次安装Linux之磁盘分区
  11. 《Thinking In Java》作者:不要使用并发
  12. DevOps第二讲:用Docker部署你的环境
  13. Liunx下Nginx安装配置
  14. 制作ubuntu光盘启动盘
  15. 支付宝、微信注册时间,轻松查看!
  16. 字符串的输出puts与输入gets(C语言)
  17. 高级计算机网络,高级计算机网络
  18. 大鱼号自媒体怎么赚钱?怎么通过大鱼号赚钱?
  19. codeTransmit —— 好用的编码批量转换工具
  20. python实现推箱子

热门文章

  1. 干货分享!悬浮按钮设计规范和经典实践
  2. 五、全国计算机二级Python考试——基本操作题(四)
  3. Android开发7年,疫情期间八家大厂高工的面试经历和真题整理
  4. 鸿蒙os拍摄功能,鸿蒙OS+顶级的拍摄效果华为P50系列,华为P30沦为弃机网友欢呼...
  5. 2023年成人中专(电大中专)在哪报名?流程一览表! 启程别
  6. 机械键盘理解的几个误区和保养方法
  7. 电脑设置不自动息屏不自动睡眠的多种方法
  8. 外行都能看懂,漫画解读“中台”
  9. CodeForces 893B Beautiful Divisors (打表)
  10. Android开发工具---SQLiteManager插件