python爬取网易云音乐飙升榜音乐,网易云音乐-飙升榜歌曲信息爬取

此方法仅用于学习,请勿他用,造成爬取对象服务器压力

【目标】爬取网易云音乐榜单歌曲,返回 ['歌曲名','歌曲id','歌曲链接','榜单排名','歌曲信息(歌词,作词,编曲,歌手)','歌曲时长']

c2d0b44db769

image.png

给出完整脚本及一些关键点的分析(个人拙见,若理解有误,请予以指正,谢谢)

1. 引入需要用到的库,并设置请求头Header及文件存储路径

import json

import re

import time

import datetime

tday=datetime.datetime.now().strftime('%Y-%m-%d')

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'}

save_path='E:/python/scarpy/screapy_wyy/wyy_toplist_'+tday+'.csv'

2.定义函数:主要用于获取榜单歌曲名,歌曲链接及歌曲id(歌曲id用于后边构建歌曲链接获取歌曲信息)

(1)右键-检查,小鼠标定位到要提取的内容下,可以看到链接及歌曲名所在的标签,可以先尝试通过request.get()获取链接的respon.text(响应文本),看看所需要的信息是否能被打印出来,如果可以,则说明信息存储在html中,可以通过BeautifulSoup进行解析

c2d0b44db769

image.png

(2)通过遍历a标签,返回的内容不唯一,需要找到最小的父类标签,在这个问题上纠结了很久,最后在框架的源代码(非网页源代码)中搜索歌曲名,发现了父类标签 class=f-hide

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值