当前位置: 首页 > news >正文

python分析实战(4)--获取某音热榜

1. 分析需求

打开某音热搜,选择需要获取的热榜如图
在这里插入图片描述

查找包含热搜内容的接口返回如图
在这里插入图片描述
将url地址保存
在这里插入图片描述

2. 开发

定义请求头

headers = {'Cookie': '自己的cookie','Accept': 'application/json, text/plain, */*','Accept-Encoding': 'gzip, deflate','Host': 'www.douyin.com','User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15','Accept-Language': 'zh-CN,zh-Hans;q=0.9','Referer': 'https://www.douyin.com/hot','Connection': 'keep-alive'
}

配置上面获取到的url
定义抓取元素数组

    position_list = []  # 热搜排名title_list = []  # 热搜标题time_list = []  # 热搜时间hot_value_list = []  # 热度值hot_url = []  # 热搜链接

开始请求

    r = requests.get(url, headers=headers)# 用json接收请求数据json_data = r.json()

解析响应

    data_list = json_data['data']['word_list']

循环赋值

    for data in data_list:title = data.get('word', '')  # 热搜标题title_list.append(title)position = data.get('position', 0)  # 热搜排名position_list.append(position)hot_value = data.get('hot_value', '')  # 热搜值hot_value_list.append(hot_value)event_time = data.get('event_time', '')  # 热搜时间戳if event_time:timestamp = float(event_time)# 时间戳转时间dt_object = datetime.datetime.fromtimestamp(timestamp)formatted_date = dt_object.strftime("%Y-%m-%d %H:%M:%S")time_list.append(formatted_date)else:time_list.append('')hot_url.append('https://www.douyin.com/hot/' + data.get('sentence_id', ''))  # 热榜链接

写入csv

    df = pd.DataFrame({'热搜排名': position_list,'热搜标题': title_list,'热搜时间': time_list,'热度值': hot_value_list,'热搜链接': hot_url,})# 保存结果到csv文件df.to_csv('抖音热搜.csv', index=False, encoding='utf_8_sig')

3. 效果验证

在这里插入图片描述

http://www.lryc.cn/news/134945.html

相关文章:

  • Java根据List集合中的一个字段对集合进行去重
  • (AtCoder Beginner Contest 315)
  • API 接口选择那个?RESTful、GraphQL、gRPC、WebSocket、Webhook
  • 「Python|音视频处理|环境准备」如何在Windows系统下安装并配置音视频处理工具FFmpeg
  • 软考高级架构师下篇-12层次式架构设计理论与实践
  • 234. 回文链表
  • LInux之例行工作
  • C++,从“hello world“开始
  • /root/.ssh/config line 2: Bad protocol 2 host key algorithms ‘+ssh-rsa‘.
  • mac m1上系统内录内部声音的方法/无需安装Blackhole
  • 数字人学习目录
  • PHP 房产网站系统Dreamweaver开发mysql数据库web结构php编程计算机网页项目
  • 0基础入门代码审计-2 Fortify初探
  • qiiuzhiji4
  • 构建 NodeJS 影院微服务并使用 docker 部署【01/4】
  • 变频器和plc之间无线MODBUS通讯
  • 【云原生】3分钟快速在Kubernetes1.25部署Prometheus2.42+Grafana9.5.1+Alertmanager0.25
  • Redis中常见的缓存穿透、缓存击穿、缓存雪崩、缓存预热解决方案
  • 第二章-自动驾驶卡车-自动驾驶卡车前装量产的要求
  • Midjourney API 申请及使用
  • mysql mysql 容器 忽略大小写配置
  • 第58步 深度学习图像识别:Transformer可视化(Pytorch)
  • angular实现全局组件
  • Spring编程模型(范式)
  • Golang GORM 单表删除
  • Windows 下 MySQL 源码学习环境搭建步骤【建议收藏】
  • redis总复习
  • [LeetCode - Python]844. 比较;含退格的字符串(Easy);415. 字符串相加(Easy)
  • 机器学习深度学习——NLP实战(自然语言推断——注意力机制实现)
  • mac垃圾清理软件有哪些