爬取抖音用户的个人基本信息

今年夏季,大概七八月份,刀郎开通抖音账号,并在抖音上发布多首作品,一时之间其热度暴涨,其粉丝也是与日俱增。

有人为了蹭热度,直播刀郎粉丝的实时变化情况,直播热度最高的时候同时几千人在线观看。

其大概率使用了爬虫技术,通过不断地模拟发送请求,获取相应数据,实现粉丝数量的实时更新。

经过百度,发现CSDN上有大量关于获取抖音用户数据的爬虫教程,经过实践,发现部分有效、部分失效,教程中的某些URL抖音已经不再使用,使用了新的URL。

结合网络教程,编写了相关代码,尝试了爬取抖音用户基本信息,获得了特定用户的粉丝数据。

截止2023.10.24,程序依然有效,依然可以正常运行。

1、确定请求的URL

关于请求的url,忘记当初是如何具体获取的该URL。

印象中用了两种途径:

一种途径是,利用F12开发者工具搜索关键词,因为需要的是返回用户信息的url,那么可以反推其返回的信息中必然会出现用户名等关键词,因此搜索抖音用户名“xxx”,找到了返回用户基本信息的URL。

另一种途径是,利用抓包软件fiddler分析url,貌似网上教程中都是用的该方法,不过很多教程中的URL已经失效,无法根据抓包软件找到,也可能是我当时没找到。

经验证,响应数据的URL为:

https://www.douyin.com/aweme/v1/web/user/profile/other/

2、构造header

确定了响应数据的URL,那么header直接从浏览器复制即可,此处不再赘述。

3、发送请求

发送请求,可以利用python的包requests来进行。

发送请求时,印象中遇到了SSL、443之类的错误,很多时候是由于没有设置verify字段导致的。

4、输出数据

相应直接拿到的数据是json格式的,需要解析json,转化为字典,然后再获取具体的某个字段。

json数据,可以利用在线格式化工具,对其格式化,查看数据结构,方便查找自己想要的信息。
在这里插入图片描述

附:代码

import json
import requests
headers = {
    
    
    'Host': 'www.douyin.com',
    'Connection': 'keep-alive',
    'sec-ch-ua': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'Accept': 'application/json, text/plain, */*',
    'sec-ch-ua-mobile': '?0',
    'User-Agent': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'sec-ch-ua-platform': '"Windows"',
    'Sec-Fetch-Site': 'same-origin',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Dest': 'empty',
    'Referer': 'xxxxxxxxxxxx此处为用户的主页URLxxxxxxxxx',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cookie': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
}

url = 'https://www.douyin.com/aweme/v1/web/user/profile/other/?xxxxxxxxxxxxxxxxxxx
# 利用requests发送请求,印象中遇到了SSL、443之类的错误,很多时候是由于没有设置verify字段导致的。
res = requests.get(url, headers=headers, verify=False)
print(res)

# res.text是响应结果,json字符串形式
strText = res.text
print(strText)

# 解析json字符串,转换为字典,方便python读取现需要的字段。
dict = json.loads(strText)
print(dict)

# 字典中,user字段存储了用户的基本信息,其内部又包含了很多详细信息。
# 粉丝数
follower_count = dict['user']['follower_count']
print("粉丝数:" ,follower_count)
# 点赞数
total_favorited = dict['user']['total_favorited']
print("点赞数:" ,total_favorited)

猜你喜欢

转载自blog.csdn.net/qq_34045989/article/details/134096663
今日推荐