VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • python爬虫——抖音数据

最近挺火的抖音短视频,不仅带火了一众主播,连不少做电商的也进驻其中,于是今天我来扒一扒这火的不要不要的抖音数据:

一、抓包工具获取用户ID

对于手机app数据,抓包是最直接也是最常见的手段,常用的抓包工具就有:charles、fiddler、wireshark、httpwatch等等,本文使用charles进行抓包。

charles抓包工具使用教程:charles使用教程

此时,手机已经连上电脑,并可以正常抓包。

1、打开手机抖音app,在搜索框输入目标用户(例如:棚棚朱古力):

2、选中想要的用户点击进去用户详情页:

3、抓包工具上找到对应的数据,并获取用户ID:

二、根据用户ID获取用户数据,分别有:总点赞数、用户显示ID、作品数、喜欢数、关注数、粉丝数等用户详细数据。

代码如下:

def get_love_num(shape_id):
    '''
    获取除置顶外前十视频的点赞数
    :param shape_id:
    :return:
    '''
    sign_ = "HunHKQABfpAtN81GL5ujHx7pvd"
    url = f"https://www.iesdouyin.com/web/api/v2/aweme/post/?sec_uid={shape_id}&count=100&max_cursor=0&aid=1128&_signature={sign_}"
    resp = requests.get(url)
    resp_result = resp.json()
    # print(resp_result)
    love_num_list = []
    awe_list = resp_result['aweme_list']
    for awe_dict in awe_list[:10]:
        try:
            love_num = awe_dict['statistics']['digg_count']
        except:
            love_num = 0
        love_num_list.append(love_num)
    return love_num_list

运行结果:

三、下载不带水印的视频:

1、获取视频连接:

def get_love_num(shape_id):
    '''
    获取除置顶外前十视频的点赞数
    :param shape_id:
    :return:
    '''
    sign_ = "HunHQBAfpZtH8RGL3ujHf7pau"
    url = f"http://www.iesdouyin.com/web/api/v1/aweme/post/?sec_uid={shape_id}&count=6&max_cursor=0&aid=1128&_signature={sign_}"
    # print(url)
    resp = requests.get(url)
    resp_result = resp.json()
    love_num_list = []
    awe_list = resp_result['aweme_list']
    for awe_dict in awe_list[:10]:
        try:
            love_num = awe_dict['statistics']['digg_count']
            video_desc = awe_dict['desc']
            video_link = awe_dict['video']['play_addr']['url_list'][0]
            download_video(video_desc,video_link)
        except:
            love_num = 0
            video_desc = ""
            video_link = ""
        love_num_list.append((love_num,video_desc,video_link))
    return love_num_list

def download_video(video_desc,video_link):
    '''
    下载视频
    :param video_desc: 
    :param video_link: 
    :return: 
    '''
    try:
        resp = requests.get(video_link)
        with open(f"./{video_desc}.mp4","w") as f:
            f.write(resp.text)
    except Exception as e:
        print(e)

 

2、下载视频保存到本地:

文章出处:https://www.cnblogs.com/qiuwuzhidi/p/14764845.html


相关教程