在当今数字化时代,电商直播已成为一种重要的销售模式,吸引了大量消费者和商家。抖音电商汇聚了众多的大人主播,他们通过直播带货,创造了一次次惊人的销售额。对于品牌和商家来说,了解抖音电商达人主播的数据对于制定营销策略、选择合作伙伴以及分析市场趋势至关重要。因为平台的机制,了解这些主播达人的销售表现、粉丝互动等关键信息要直接从抖音平台获取这些数据并非易事。但,如果我们使用代理IP结合Python爬虫技术,就可以高效地获取所需数据。

so,现在,我们一起来看看,要如何使用Python和代理IP获取抖音电商达人主播数据的。

一、爬取目标

首先,我们要先对抖音电商达人主播页面进行分析,确定需要抓取的数据点和页面结构。通常,这些达人的数据包括:

  • 主播昵称:主播在平台上的显示名称。
  • 主播ID:主播的唯一标识符。
  • 直播间链接:主播直播间的URL地址。
  • 观看人数:当前观看该直播间的用户数量。
  • 点赞数:观众对直播内容的点赞数量。
  • 商品列表:主播推荐的商品信息,包括名称、价格等。


二、环境准备

2.1 编程语言

选择Python作为编程语言,因其具有强大的库支持和简洁的语法,特别适合数据抓取和处理任务。

2.2 环境配置

我们需要安装以下Python库:

  • requests:用于发送HTTP请求,获取网页内容。
  • BeautifulSoup:用于解析HTML和XML文档,提取数据。
  • pandas:用于数据处理和分析。

可以通过以下命令安装所需库:

pip install requests beautifulsoup4 pandas

2.3 代理IP配置

使用代理IP可以有效提升数据抓取的成功率。可以选择一些高质量优质的企业级代理IP服务。优质服务商能提供稳定、持续、高效的代理IP资源,显著提升爬取任务的效率与成功率。

在代理服务商选择上,像青果网络这样专业的企业级代理平台更有助于实现稳定、高效的代理集成,此外还有业界领先的动态轮换技术,能够满足从短时轮转到长效连接等多样需求。

  • 600万+纯净IP池,代理节点覆盖200+城市,无论是国内跨省,还是国际化任务都能轻松应对;
  • 动态、隧道、静态全覆盖,高支持率的API接口,实时分配代理资源;
  • 7×24小时服务支持和6小时免费试用,完美适配多场景业务需求,助力用户完成第一步的测试部署和优化。
  • 自研代理服务技术,采用分池技术,业务任务成功率比同类产品高出30%。

我们可以直接到他们官网注册使用:

Python用代理IP获取抖音电商达人主播数据_数据抓取

注册成功后,选择对应需要的产品购买,购买后,即可在控制台看到相关业务信息:

Python用代理IP获取抖音电商达人主播数据_IP_02

2.3.1 授权验证

和其他代理IP服务一样,正式使用之前,我们都需要授权。青果支持白名单和帐密两种验证方式,可自主选择使用。

白名单模式:即把要实现代理的服务器IP添加进代理白名单中,后续使用该IP连接代理就能成功;

账密模式:即先获取该代理业务的密钥信息,连接代理时填入进行验证就可使用代理。类似我们图中:

Python用代理IP获取抖音电商达人主播数据_数据抓取_03

2.3.2 提取IP

确认好验证方式后,就可以开始提取IP了。

1.用户可以点击对应业务右侧的【更多】-【IP使用】-【提取IP】进入提取工具页面,也可以点击左侧导航栏的【提取工具】进入;

Python用代理IP获取抖音电商达人主播数据_IP_04

2.在提取工具页面,选择对应业务的Authkey,以及提取数量、地区、格式等其他选项,便可在页面下方看到链接,点击【打开链接】;

Python用代理IP获取抖音电商达人主播数据_IP_05

便可在打开的网页中看到此时提取到的IP地址。

Python用代理IP获取抖音电商达人主播数据_数据抓取_06

2.3.3 测试使用

做好以上步骤之后,即可开始连接代理测试。

青果代理IP支持用户使用各种浏览器、代理客户端、电脑系统等等进行代理设置。

以谷歌浏览器chrome为例,设置代理需要1.在右上角菜单中点击【设置】,设置页面中选择【系统】-【打开代理设置】;

Python用代理IP获取抖音电商达人主播数据_IP_07

2.在新打开的弹窗页面中,把【使用代理服务器】按钮打开,并填写地址与端口信息,点击保存,就算启动代理连接了;

Python用代理IP获取抖音电商达人主播数据_IP_08

3.若使用的是账密验证,此时在浏览器打开一个新网页,会弹出以下会话,填写业务所对应的AuthKey以及AuthPwd信息,点击确认便能完成代理连接;

Python用代理IP获取抖音电商达人主播数据_IP_09

4.此时进行正常的网页浏览,若能正常使用,就算代理连接成功了。

2.3.4 重新获取IP

青果代理IP产品都有相对应的IP存活周期,其有效时长是从提取到IP时算起,超过这个时长IP会失效。

IP到期失效之后,直连池/中转池的产品需要回到第一步重新提取IP,再将新ip信息填入代理服务器中进行使用。

三、代码实战

3.1 网页分析

使用Chrome浏览器找到抖音主页,搜我们要的带货主播,随机先挑一个:

Python用代理IP获取抖音电商达人主播数据_IP_10

按下F12键调出开发者工具,分析需要抓取的数据接口:

Python用代理IP获取抖音电商达人主播数据_数据抓取_11

在网络标签中,选择XHR(异步请求),查看API请求。

3.2 爬虫代码编写

以下是部分爬虫示例代码:

import requests
import pandas as pd
# 设置代理IP
proxy = {
    "http": "http://your_proxy_ip:port",
    "https": "https://your_proxy_ip:port"
}
# 目标URL
url = 'https://www.douyin.com/user/MS4wLjABAAAArEVLEa-OxHisbIVsn3i3UwQZpIYkTGg1Dmp5M77NG_0?from_tab_name=main/api/anchors'
# 发送请求
try:
    response = requests.get(url, proxies=proxy, timeout=10)
    response.raise_for_status()  # 检查请求是否成功
    data = response.json()  # 解析JSON数据
    # 存储主播数据的列表
    anchors_data = []
    for anchor in data['anchors']:
        anchor_info = {
            '主播昵称': anchor['nickname'],
            '主播ID': anchor['id'],
            '直播间链接': anchor['link'],
            '观看人数': anchor['view_count'],
            '点赞数': anchor['like_count'],
            '商品列表': anchor['product_list']  # 假设存在商品列表
        }
        anchors_data.append(anchor_info)
    # 将数据转换为DataFrame并保存为CSV文件
    df = pd.DataFrame(anchors_data)
    df.to_csv('anchors_data.csv', index=False, encoding='utf-8')
    print("数据爬取成功,已保存为 anchors_data.csv")
except requests.exceptions.RequestException as e:
    print(f"请求失败:{e}")

3.3 扩展数据抓取

3.3.1 分页抓取

我们也可以添加分页参数,循环请求多个页面的数据:

anchors_data = []
page = 0
while True:
    params = {'page': page}
    response = requests.get(url, proxies=proxy, params=params, timeout=10)
    response.raise_for_status()
    data = response.json()
    if not data['anchors']:
        break  # 如果没有更多数据,则停止抓取
    for anchor in data['anchors']:
        anchor_info = {
            '主播昵称': anchor['nickname'],
            '主播ID': anchor['id'],
            '直播间链接': anchor['link'],
            '观看人数': anchor['view_count'],
            '点赞数': anchor['like_count'],
            '商品列表': anchor['product_list']
        }
        anchors_data.append(anchor_info)
    page += 1  # 增加页码
# 保存数据
df = pd.DataFrame(anchors_data)
df.to_csv('anchors_data.csv', index=False, encoding='utf-8')

3.3.2 数据清洗与处理

在抓取到数据后,通常需要进行清洗和分析。以下是一些常用的数据清洗操作:

# 读取数据
df = pd.read_csv('anchors_data.csv')
# 去除重复项
df.drop_duplicates(inplace=True)
# 处理缺失值
df.fillna(0, inplace=True)  # 将缺失值替换为0
# 数据分析示例:统计点赞数最高的主播
top_anchors = df.nlargest(5, '点赞数')
print("点赞数最高的主播:")
print(top_anchors[['主播昵称', '点赞数']])

3.4 数据可视化

可以使用matplotlibseaborn等库对数据进行可视化,这样可以更直观地分析主播的表现。

pip install matplotlib seaborn

部分代码:

import matplotlib.pyplot as plt
import seaborn as sns
# 绘制点赞数分布图
plt.figure(figsize=(10, 6))
sns.barplot(x='点赞数', y='主播昵称', data=top_anchors)
plt.title('点赞数最高的主播')
plt.xlabel('点赞数')
plt.ylabel('主播昵称')
plt.show()

3.5 定时任务

如果需要定时抓取数据,可以使用APScheduler库来设置定时任务。

pip install APScheduler

示例代码:

from apscheduler.schedulers.blocking import BlockingScheduler
def fetch_data():
    # 数据抓取逻辑
    print("开始抓取数据...")
    # (插入数据抓取代码)
scheduler = BlockingScheduler()
scheduler.add_job(fetch_data, 'interval', hours=1)  # 每小时抓取一次
scheduler.start()

四、总结

随着技术的发展,数据抓取与分析将不断优化,为企业的商业决策提供更有力的支持。我们通过使用代理IP高效抓取抖音电商达人主播的数据,为后续的企业的决策分析提供基础。