抖音是一个很好的平台,森罗万象,大到央视新闻,小到普通老百姓日常。上面的活跃用户的粉丝数量,有如恒河沙数,也有如寥若晨星。
抖音的推荐算法会逐渐决定你将要看什么,滑稽吧?你的观看选择,从这个角度看,居然是他人决定,而不是自己去寻找?。自己去寻找的不好吗?人懒了吗?
本文建立抖音推荐算法的基础上,爬取一些自己喜欢的东西,当然是小姐姐了。一开口?就知道是老色批了,又在ghs,?✈️拷走。?这边前期刷抖音的时候,在一下小姐姐视频上停留时间过长,抖音app会自动判定你喜欢这类视频,或者在刷到漂亮小姐姐,点个like,后面还是会推送这类视频。于是不需要使用人脸判定接口了,麻烦。
先上结果图:
重启fiddler。
配置模拟器,保存。
配置证书:在浏览器中输入设置的ip:端口,我的是192.168.0.106:8888,就会打开fiddler的页面。然后点击fiddlerRoot certificate,安装证书。如果没有下面,重启一下fiddle。
点击以后开始下载,在任务栏点击安装,设置名称,设置锁屏手势。
经过我百般探索,在模拟器抖音点击用户头像,就会有较大body 的json出现。
这个json数据包很大吧,打开分析吧。
仔细找找,在video里就能找到视频,把url_list里链接复制到浏览器就能够播放。
下面是代码,fielname变量指向的目录D:/抖音/raw_data
手动生成。
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
if (oSession.uriContains("https://aweme.snssdk.com/aweme/v1/aweme/post/")||oSession.uriContains("https://api3-core-c-lf.amemv.com/aweme/v1/aweme/post/")){
var strBody=oSession.GetResponseBodyAsString();
var sps = oSession.PathAndQuery.slice(-58,);
var filename = "D:/抖音/raw_data" + "/" + sps + ".json"; //目录需要手动去生成。
var curDate = new Date();
var sw : System.IO.StreamWriter;
if (System.IO.File.Exists(filename)){
sw = System.IO.File.AppendText(filename);
sw.Write(strBody);
}
else{
sw = System.IO.File.CreateText(filename);
sw.Write(strBody);
}
sw.Close();
sw.Dispose();
}
}
接下来,只需要在模拟器里滑动,点击用户,就可以看到在定义的目录里有很多json文件。
D:/抖音/
下新建crawl.py。
import os,json,requests headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36'} videos_list = os.listdir('D:/抖音/raw_data/') count = 0 # 统计下载视频数量 for videos in videos_list: json_data = open('./raw_data/{}'.format(videos),encoding='utf-8') try: content = json.load(json_data)['aweme_list'] title = content[0]['author']['nickname'] #小姐姐名称 for c in r'#\/:*\@#?"<>|/': title = title.replace(c,'') print(title,":可爱又美丽的我正在去往您的硬盘里\n") if not os.path.exists('./VIDEO/'+title): os.makedirs('./VIDEO/'+title,) # 建立以小姐姐名称的文件夹 for video in content: video_name = video['desc'] for c in r'#\/:*\@#?"<>|/': video_name = video_name.replace(c,'') try: video_url = video['video']['play_addr']['url_list'][0] print(video_name) continue videoMp4 = requests.request('get',video_url,headers=headers).content with open('./VIDEO/{}/{}.mp4'.format(title,video_name),'wb') as f: f.write(videoMp4) print("可爱又美丽的我已经在硬盘了") count += 1 except: pass except: pass print('--------------------------------') print("一共{}有个在您的硬盘里呢".format(count)) 后记
这些小姐姐们,都是以自己美颜后的模样呈现在视频前,在视频前摆几个动作而已,没看到有啥子与众不同的才艺,或者说闪光点。又或者说,这才是我们大众喜欢的女性,不然怎么一个个的好几万like。人均校花?。
小姐姐们确实挺好看的,不过不太符合我的审美观。萝卜青菜,各有所爱。?希望每个人的另一半都是自己眼里最美的啦。
?后面打算,基于这些小姐姐,做视频帧数切割,以及?切割。