抖音小姐姐视频爬虫

前言

前段时间,创造101着实火了一把,问我pick哪位小姐姐,当然是唱歌老跑调,跳舞数拍子的杨超越了。其实在看创造101之前,就已经在抖音上关注了她,今天就来爬爬她的抖音视频(杨超越的抖音已经没有更新了),你的样子我都有~

本文主要讲解:

  • 抖音视频爬虫
  • 视频下载

PS:虽然很多网友骂她没实力,但别人运气是真的好~

抖音视频爬虫

这里依旧是通过fiddler抓包,现在的抖音有加密算法,之前网上的大部分代码都不能用了,我们先看看有哪些加密字段。

https://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

这里主要是mas和as参数不知道咋构造,这里因为只是爬一个用户的数据,所以把整个url都copy到txt中,然后请求获取数据。

import requests
import json

f = 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+'\n')

if __name__ == '__main__':
    fp = open('1.txt', 'r')
    for line in fp.readlines():
        get_info(line.strip())

视频下载

在网上看说,这个链接只有10多分钟的有效期(没有验证),所以爬虫先把视频链接先保存下来,然后再同一下载。

import requests

def download_url(desc,url):
    global i
    res = requests.get(url)
    if len(desc) == 0:
        desc = str(i)
    f = open('视频/'+desc+'.mp4','wb')
    f.write(res.content)
    i = i + 1

i = 1
fp = open('2.txt','r', encoding='utf-8')
for line in fp.readlines():
    desc = line.split(',')[0]
    url = line.split(',')[1].strip('\n')
    print(url)
    download_url(desc,url)

最后,祝大家也都能心想事成~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员的SOD蜜

用惯了ORM,居然不会写分页SQL了

    最近准备找新工作,于是下午请了假,去上地软件园一家国内大型软件外包公司去面试架构师,从国贸到面试地点,坐地铁足足走了一个半小时,终于到了前台,联系了HR...

3096
来自专栏WindCoder

python版成绩查询又前进一步

学了点python后,看到各种爬虫教程,原本想做个统计平均学分绩的小爬虫。当真正动手时,发现了各种难题,由于网上多数都是没有验证码的模拟登录,而方正教务系统却是...

2583
来自专栏容器化

k8s踩坑记 - kubeadm join 之 token 失效

3675
来自专栏程序人生

为什么你要懂点信息安全(续一)

昨天的文章可能让很多新读者读得莫名其妙,程序君在此抱歉。我应该使用这样的标题:『[连载] 途客们的旅行梦 - 创新工场初印象』,就不会让你看得摸不着头脑了,下次...

3547
来自专栏北京马哥教育

上班第一天,一个合格的运维应该做什么?

运维行业正在变革,推荐阅读:30万年薪Linux运维工程师成长魔法 作为一名运维工程师,如果你在春节放假期间没有被报警电话和邮件吵醒过,那说明你在放假前的准备...

3958
来自专栏镁客网

「测评」不为云而生的智能路由器都是耍流氓——捷稀JHR-AC845测评

1973
来自专栏Web 开发

我也来刷到CM7.1

2011年10月10日,著名的的Android第三方ROM团队CyanogenMod发布了最新的稳定版CM7.1,同时提供大量机型的支持~

810
来自专栏区块链

啥?Metasploit里面也有菜刀

利用msf破解一句话木马 0x01 前言 本文为智者楚轩原创文章 事情要从下午说起,同学突然叫我说,xxx,我扫到一个老师在电脑上自己搭建的服务器,上面有他c盘...

3807
来自专栏闰土大叔

代码里注释写太多,会挨打吗?

前几天,有个同行朋友在我的微信上留言,问我项目代码里注释写太多会挨打吗?顺手还给我甩了一张截图,上面密密麻麻的全是手工注释。

4484
来自专栏农夫安全

啥?Metasploit里面也有菜刀~~~

利用msf破解一句话木马 0x01 前言 本文为智者楚轩原创文章 事情要从下午说起,同学突然叫我说,xxx,我扫到一个老师在电脑上自己搭建的服务器,上面有他...

5029

扫码关注云+社区

领取腾讯云代金券