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

Python爬虫实战 | 爬取网易云音乐热歌榜单

网易云音乐热歌榜单爬虫实战

环境准备

  • Python 3.x
  • requests 库
  • BeautifulSoup 库

安装依赖

pip install requests beautifulsoup4

代码

import requests
from bs4 import BeautifulSoup

def get_cloud_music_hot_songs():
    url = "http://music.163.com/#/discover/playlist"  # 网易云音乐热歌榜单页面
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}

    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    songs = soup.find_all('li', class_='f-hide')

    hot_songs = []
    for song in songs:
        title = song.find('a').get('title')
        hot_songs.append(title)

    return hot_songs

if __name__ == '__main__':
    hot_songs = get_cloud_music_hot_songs()
    for index, song in enumerate(hot_songs):
        print(f'{index + 1}. {song}')

运行代码

将上述代码保存为 get_hot_songs.py,然后在命令行中运行:

python get_hot_songs.py

注意事项

  • 网易云音乐的页面结构可能会发生变化,这会导致爬虫失效。
  • 爬虫应遵循网易云音乐的爬虫协议,不要频繁请求,以免给服务器造成负担。
  • 实际使用时请确保代码的合法性,尊重版权和个人隐私。

以上代码会打印出网易云音乐热歌榜单的前几首歌曲名称。由于网易云音乐的反爬虫机制,这个简单的案例可能无法长期有效。对于复杂的爬虫任务,可能需要使用更高级的技术,如Selenium等。

我们继续学习更高级的技术吧~~


http://www.kler.cn/a/386978.html

相关文章:

  • Matplotlib库中show()函数的用法
  • 基于 Python Django 的二手房间可视化系统分析
  • 深入探索React合成事件(SyntheticEvent):跨浏览器的事件处理利器
  • Llama微调测试记录
  • 大数据新视界 -- 大数据大厂之 Impala 存储格式转换:从原理到实践,开启大数据性能优化星际之旅(下)(20/30)
  • 浅谈:基于三维场景的视频融合方法
  • 【开源免费】基于SpringBoot+Vue.JS水果购物网站(JAVA毕业设计)
  • Python小白学习教程从入门到入坑------第二十九课 访问模式文件定位操作(语法进阶)
  • Docker配置及简单应用
  • 探索 C++20:C++ 的新纪元
  • 智能合约在供应链金融中的应用
  • 【EFK】Linux集群部署Elasticsearch最新版本8.x
  • 常用机器人算法原理介绍
  • Flutter UT太多导致跑覆盖率报错
  • PostgreSQL 性能优化全方位指南:深度提升数据库效率
  • Flutter鸿蒙next 中的 Drawer 导航栏
  • 如何利用动态住宅IP突破亚马逊反爬虫验证码机制
  • [NewStarCTF 2023 公开赛道]逃1
  • 10. java基础知识(下)
  • mac上如何安装指定版本的python
  • 【手撕面试题】React(高频知识点二)
  • 数据科学与大数据技术专业学生的考研方向与适合专业探索
  • 【Linux-进程间通信】了解信号量 + 共享内存 + 消息队列的应用
  • MatrixOne 助力西安天能替换MySQL+MongoDB+ES打造一体化物联网平台
  • express项目中使用MySQL
  • 汽车共享服务管理:SpringBoot专业解决方案