您现在所在的位置:首页 >关于奇酷 > 行业动态 > 爬虫实战丨高能预警!抖音小姐姐视频集来了!

爬虫实战丨高能预警!抖音小姐姐视频集来了!

来源:奇酷教育 发表于:

前方高能预警!抖音小姐姐视频集来了!

  前言
 
  前方高能预警!抖音小姐姐视频集来了!

 
  总感觉抖音小姐姐连一个手势都能擦出不一样的火花,她们有一千种模样,我就有一万种喜欢,没有看够怎么办?!
 
  双十二福利来了!这次Python爬虫实战篇,爬的就是当下大火的抖音小姐姐视频。问我pick哪位小姐姐,当然是唱歌老跑调,跳舞数拍子的杨超越了。
  本文主要讲解:抖音视频爬虫
 
  抖音视频爬虫
//aweme.snssdk.com/aweme/v1/aweme/post/?iid=40337863888&device_id=35102252294&os_api=18&app_name=aweme&channel=App%20Store&idfa=11926ED5-C282-4BBC-AF01-0E8C18120647&device_platform=iphone&build_number=23101&vid=177A5A79-D6F6-4A03-9352-57C0681CDDDC&openudid=1ee725d39e05794bcdc14537f8c1f4220c7d6fd5&device_type=iPhone8,1&app_version=2.3.1&version_code=2.3.1&os_version=11.4.1&screen_width=750&aid=1128&ac=WIFI&count=21&max_cursor=0&min_cursor=0&user_id=58554069260&mas=01bf537030d65155897d6fd1d7c97862dbca9722fea8c96d2b68de&as=a1858817de104b87435065&ts=1534297870

  抖音使用的智能推荐机制。我们这里依旧是通过fiddler抓包(Fiddler是一款常见的抓包分析工具,对数据进行截获、重发、编辑、转存的过程叫做抓包)。现在的抖音有加密算法,之前网上的大部分代码都不能用了,我们先看看有哪些加密字段。

import requestsimport jsonf = open('2.txt','w+',encoding='utf-8')headers = {'Host': 'api.amemv.com','Accept': '*/*','Cookie': 'install_id=40337863888; login_flag=d6f29ec905af4bf1101199aa942c466f; odin_tt=a1e12dc3e4b92de77cccf6be1717377188f8aa7582f703c1391c8dc7d4a0df1b166119681af4277bd2cdc8aeb56000a7; sessionid=718df70f4e4964723cd1c8337c367b45; sid_guard=718df70f4e4964723cd1c8337c367b45%7C1534207148%7C5184000%7CSat%2C+13-Oct-2018+00%3A39%3A08+GMT; sid_tt=718df70f4e4964723cd1c8337c367b45; ttreq=1$ad10f98ec66ad6df5b86a7b1a613c77bb674236d; uid_tt=765536856bdc4f0f299b85dbc7338982','User-Agent': 'Aweme/2.3.1 (iPhone; iOS 11.4.1; Scale/2.00)','Accept-Language': 'zh-Hans-CN;q=1','Accept-Encoding': 'br, gzip, deflate','Connection': 'keep-alive'}def get_info(url):res = requests.get(url,headers=headers)json_data = json.loads(res.text)datas = json_data['aweme_list']for data in datas:desc = data['desc']download_url = data['video']['play_addr']['url_list'][0]print(desc,download_url)f.write(desc+','+download_url+'')if __name__ == '__main__':fp = open('1.txt', 'r')for line in fp.readlines():get_info(line.strip())
  这里主要是mas和as参数不知道咋构造,这里因为只是爬一个用户的数据,所以把整个url都copy到txt中,然后请求获取数据。
  视频下载
  在网上看说,这个链接只有10多分钟的有效期(没有验证),所以爬虫先把视频链接先保存下来,然后再统一下载。

  1. 哈哈哈,当爬虫撞见小姐姐,你的样子我都有啦!
  爬虫基础知识
  那么一般学习爬虫要学习到哪种程度呢?
  (必要部分)
  语言选择:一般是了解Python、Java、Golang之一
  熟悉多线程编程、网络编程、HTTP协议相关
  开发过完整爬虫项目(最好有全站爬虫经验,这个下面会说到)
  反爬相关,cookie、ip池、验证码等等
 
  熟练使用分布式
  (非必要,建议)
  了解消息队列,如RabbitMQ、Kafka、Redis等
  具有数据挖掘、自然语言处理、信息检索、机器学习经验
  熟悉APP数据采集、中间人代理
  大数据处理(Hive/MR/Spark/Storm)
  数据库Mysql、redis
  熟悉Git操作、linux环境开发
  读懂js代码、这个真的很重要
  好了,大家收到这份双十二福利,开不开心?