APP爬虫 抓包配置 案例分析(抖音)

(一) 需要通过抓包来分析数据来源, 找到api接口

推荐三个抓包工具
1、Fiddle 2、Charles 3、mitmweb

我这里使用的是Fiddle
说明下一配置
1 工具-选项
APP爬虫 抓包配置 案例分析(抖音)_第1张图片
2 HTTPS-勾选-和点击操作并完成
APP爬虫 抓包配置 案例分析(抖音)_第2张图片
3 连接
APP爬虫 抓包配置 案例分析(抖音)_第3张图片
4 保存 – 退出- 重启
接下来手机配置
1首先手机连接wifi, 并且需要在一个局域网段.
2 对wifi设置代理. 设置IP和PORT , ip:电脑的IP, PORT: 是Fiddle配置是设置的端口- 默认是8888
APP爬虫 抓包配置 案例分析(抖音)_第4张图片APP爬虫 抓包配置 案例分析(抖音)_第5张图片
3 因为fiddle属于第三方 , 所有需要下载fiddle的证书, 手机浏览器访问IP:port
4 并将证书下载手机,信任该证书-. FiddlerRoot_certificate-设置-通用-关于本机
APP爬虫 抓包配置 案例分析(抖音)_第6张图片APP爬虫 抓包配置 案例分析(抖音)_第7张图片APP爬虫 抓包配置 案例分析(抖音)_第8张图片APP爬虫 抓包配置 案例分析(抖音)_第9张图片
5 OK 现在fiddle 已经可以监听你的手机.

抖音爬虫案例分析
APP爬虫 抓包配置 案例分析(抖音)_第10张图片APP爬虫 抓包配置 案例分析(抖音)_第11张图片
根据抖音搜索引擎, 搜索外汇相关内容
根据抓包发现
APP爬虫 抓包配置 案例分析(抖音)_第12张图片
数据为json数据
接下来代码编写
import requests
import json
import time

headers = {
'Accept-Encoding': 'gzip',
"User-Agent":"Mozilla/5.0 (iPhone 84; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.0 MQQBrowser/7.8.0 Mobile/14G60 Safari/8536.25 MttCustomUA/2 QBWebViewType/1 WKType/1",
'Connection':'keep-alive',
'Host': 'aweme.snssdk.com',
'X-SS-REQ-TICKET': '1536115411835'}

cookies = {'install_id': '43077011048', 'odin_tt': 'f024c8496af17ad75cb9ea83e394172ecfd9d666f3731ad98e0379e4d1759a647c011ac8fe2ad16341af8fb2d8d50d5b', 'sessionid': '2ea5ae2cedc3e21cfb0505c81cf274a8', 'sid_guard': '2ea5ae2cedc3e21cfb0505c81cf274a8%7C1535966164%7C5184000%7CFri%2C+02-Nov-2018+09%3A16%3A04+GMT', 'sid_tt': '2ea5ae2cedc3e21cfb0505c81cf274a8', 'ttreq': '1$3ec8eb5df7a83e7dd1969afeee7784dc0be0438b', 'uid_tt': 'cc6e039997a7c451b4123bbfafaad805'}
url = 'https://aweme.snssdk.com/aweme/v1/discover/search/?iid=43077011048&device_id=36894652689&os_api=18&app_name=aweme&channel=App%20Store&idfa=9E4F6E17-0A00-4F85-8630-CB9CECC6B52B&device_platform=iphone&build_number=25105&vid=BBCCF487-80AA-4177-8CC0-5C12ABCC8FC0&openudid=1e85eb9f4463291a2c3f90be6a0d43be92b8cf58&device_type=iPhone7,2&app_version=2.5.1&version_code=2.5.1&os_version=11.4.1&screen_width=750&aid=1128&ac=WIFI&count=20&cursor=0&keyword=%E5%A4%96%E6%B1%87&search_source=discover&type=1&mas=010d3956dac0aaa5b85f9b628e908d651ee74c4a07b87ffc822eb8'
response = requests.get(url=url,headers=headers,cookies=cookies)
print(json.loads(response.content))

带着cookies 和 headers 可以拿到响应.

但是中间有一个细节很重要, 也让我bug很长时间. 当你Fiddle没有关闭时, 你启动爬虫会报错SSL错误. 因为Fiddle改变了局域网代理模式.
解决办法: 打开浏览器-设置局域网-自动检测…

想进行进一步爬虫时发现url中参数很多
APP爬虫 抓包配置 案例分析(抖音)_第13张图片
所以开始分析参数作用
mas 这个实时变化-所以分析应该是根据时间戳来进一步加密(待破解)
as 这个实时变化-所以分析应该是根据时间戳来进一步加密(待破解)
ts - 是时间戳

你可能感兴趣的:(APP爬虫 抓包配置 案例分析(抖音))