python爬虫实战--抖音
申明&警告: 请在相关网站的许可范围内爬取数据.以免影响网站正常运行, 如果我的文章有触犯权益的地方, 请告知删除.
上一篇爬取知乎的文章基本就是大多数网站的爬取思路了(headers部分其实蛮重要的,后面再整理吧)
问题: 爬网站我会了, 手机app能不能爬?
稍微解释下原理: 一般资讯类app或网站, 都是调"后端"拿数据. 这就是为什么刷手机会耗流量.....说明在你点app的时候, 它去其他地方拿数据了. 这个其他地方就是后端. 并且通信方式大多是之前提到了HttpRequest方式.拿到的结果基本都是json结构.
所以: 我们如果能知道手机发出去的请求是什么, 就像前面文章中"找url"一样. 只要知道url和调用方式, 剩下的就是写代码了.
问题: 怎么找app调用的url? 用fiddler!
fiddler是一个代理, 就像我们要访问google必须配置代理翻墙一样. 手机配置fiddler服务器, 然后手机上所有的网络请求都会先转发给fiddler. 如下图:

图片来源: https://www.jianshu.com/p/9e05a2522758
这样在fiddler服务器上就能看到app和web server是如何沟通的了
我们来试下
重要提醒: fiddler配置方式请自行百度, 手机需要安装生成的证书才行, 很显然安装完证书后, 手机的所有网络访问都暴露在Fiddler服务器上了....所以严重提醒: 请不要在手机上安装来源不明的授权证书.
提醒一些关键点
超级注意:
1,fiddler配置的时候证书选择器选makecert. 如下图:
2, 看好命令中的04/04/2018...这个似乎是证书起始日期? 总之配过去日期, 别配未来日期, 否则证书不生效的....可以通过CMD: certmgr.msc 确认下证书是否可用,还是不可用
生成证书命令:
makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 04/04/2018
手机端修改事项
- 在电脑ip:8888处下载证书
- 安装证书
- wifi添加手动代理: 电脑ip+8888端口
刷两下手机, 看到fiddler有收到请求
先看个图感受下

我们找下数据:

image.png
特别注意:

image.png
我们再用https://www.json.cn/ 网站好好看下返回数据 (这个工具网站挺好的)
数据量大的时候会卡住..等一会

image.png
字段超多....抖音还是有钱,很多字段其实在首页列表的地方并不需要...但是还是返回了........真的不考虑下用户的感受么...用4G的话刷个列表都会很耗流量的......
另一个小经验: 有些app安全做的很好, 也就是headers里面有些信息是加密生成的...自己没法伪造, 这个时候要要么尝试爆破加密信息, 要么可以辛苦下手机, 通过不断刷手机, 再从fiddler拿到数据. (刷手机其实也可以让程序去做.见之后的文章)
我简单试了下, fiddler支持定制脚本, 如下图... 在FiddlerScript里面是一个js脚本, 可以定制一些动作, 比如在getResponse的时候加个write to file. 就能保存数据了.,,,,但是要对js懂一些..请自己摸索下吧

image.png
来源:https://blog.csdn.net/yhmybzyfuck/article/details/85943649
python爬虫实战--抖音的更多相关文章
- PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)
说明 文章首发于HURUWO的博客小站,本平台做同步备份发布. 如有浏览或访问异常图片加载失败或者相关疑问可前往原博客下评论浏览. 原文链接 PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二 ...
- 【图文详解】python爬虫实战——5分钟做个图片自动下载器
python爬虫实战——图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识,(没看的先去看!!)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap sho ...
- Python爬虫实战(4):豆瓣小组话题数据采集—动态网页
1, 引言 注释:上一篇<Python爬虫实战(3):安居客房产经纪人信息采集>,访问的网页是静态网页,有朋友模仿那个实战来采集动态加载豆瓣小组的网页,结果不成功.本篇是针对动态网页的数据 ...
- Python爬虫实战(2):爬取京东商品列表
1,引言 在上一篇<Python爬虫实战:爬取Drupal论坛帖子列表>,爬取了一个用Drupal做的论坛,是静态页面,抓取比较容易,即使直接解析html源文件都可以抓取到需要的内容.相反 ...
- Python爬虫实战四之抓取淘宝MM照片
原文:Python爬虫实战四之抓取淘宝MM照片其实还有好多,大家可以看 Python爬虫学习系列教程 福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 本篇目标 1. ...
- Python爬虫实战---抓取图书馆借阅信息
Python爬虫实战---抓取图书馆借阅信息 原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约 ...
- Python爬虫实战七之计算大学本学期绩点
大家好,本次为大家带来的项目是计算大学本学期绩点.首先说明的是,博主来自山东大学,有属于个人的学生成绩管理系统,需要学号密码才可以登录,不过可能广大读者没有这个学号密码,不能实际进行操作,所以最主要的 ...
- Python爬虫实战八之利用Selenium抓取淘宝匿名旺旺
更新 其实本文的初衷是为了获取淘宝的非匿名旺旺,在淘宝详情页的最下方有相关评论,含有非匿名旺旺号,快一年了淘宝都没有修复这个. 可就在今天,淘宝把所有的账号设置成了匿名显示,SO,获取非匿名旺旺号已经 ...
- Python爬虫实战六之抓取爱问知识人问题并保存至数据库
大家好,本次为大家带来的是抓取爱问知识人的问题并将问题和答案保存到数据库的方法,涉及的内容包括: Urllib的用法及异常处理 Beautiful Soup的简单应用 MySQLdb的基础用法 正则表 ...
随机推荐
- Jmeter在一次进程中如何循环执行某个步骤
在使用Jmeret工具过程中比如我使用借款功能,如果想多借几次就需要一次次执行脚本,如果我在脚本执行过程中登陆一次,可以重复执行借款这一个操作那么就方便多了 于是就用到(循环控制器)这个功能 1.我需 ...
- UVA 796 Critical Links —— (求割边(桥))
和求割点类似,只要把>=改成>即可.这里想解释一下的是,无向图没有重边,怎么可以使得low[v]=dfn[u]呢?只要它们之间再来一个点即可. 总感觉图论要很仔细地想啊- -一不小心就弄混 ...
- python 快速排序-代码示例
def quick_sort(alist, first, last): if first >= last: # 如果开始等于结尾,即就一个元素 return mid_value = alist[ ...
- Innodb内存结构
聚集索引与非聚集索引: 聚集索引:主键,有序,存储顺序与内存一致 非聚集索引:非主键,无序 聚集索引在叶子节点存储的是表中的数据 非聚集索引在叶子节点存储的是主键和索引列 使用非聚集索引查询出数据 ...
- Configuring Windows for Certificate Logon
Setting up a Windows Domain ( on AD) Installing Domain Controller Roles,During installing Active Dir ...
- LeetCode 最长公共前缀(探索字节跳动)
题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow ...
- rsync+inotify 实时双向同步
前言 在遇到需要 nginx 负载均衡,承受较高并发的情况,同时会有双机相同目录内容须保持一致的需求 rsync+inotify 是一个不错的解决方案,相较于 rsync+sersync 在处理大量文 ...
- rest-assured学习资料
rest-assured 使用指南 https://blog.csdn.net/wx19900503/article/details/54944841/
- NginxURL重新配置
server { listen 8080; server_name localhost; rewrite /ljys/kcf(.*) http://192.168.4.139:8080/wuxi-pr ...
- HBase管理与监控——内存调优
HMaster 没有处理过重的负载,并且实际的数据服务不经过 HMaster,它的主要任务有2个:一.管理Hbase Table的 DDL操作, 二.region的分配工作,任务不是很艰巨. 但是如果 ...
