(数据分析)网易云热评技巧

(数据分析)网易云热评技巧

本文通过Python爬虫获取了网易云9万条热评,通过数据可视化分析其中的规律,同时分析热评最多的用户特征,从中总结出上热评的技巧。

1.数据抓取

数据集的获取是我们进行数据分析的第一步。现在获取数据的主要途径一般为:现成数据;自己写爬虫去爬取数据;使用现有的爬虫工具爬取所需内容,保存到数据库,或以文件的形式保存到本地。博主用的是现有的数据进行数据分析。

1.1爬取过程

爬取华语歌单列表中所有的歌单url
从每篇歌单地址中爬取每首歌的url
从每首歌的首页爬取热评

先来看一下要爬取的页面
在这里插入图片描述
点翻页观察url的变化:

https://music.163.com/#/discover/playlist/?order=hot&cat=%E5%8D%8E%E8%AF%AD&limit=35&offset=0
https://music.163.com/#/discover/playlist/?order=hot&cat=%E5%8D%8E%E8%AF%AD&limit=35&offset=35
https://music.163.com/#/discover/playlist/?order=hot&cat=%E5%8D%8E%E8%AF%AD&limit=35&offset=70

从中可以看出翻页时url只有offset部分发生变化,每次在前一页的基础上加35。通过这个可以设计出爬取歌单的代码。

def get_list():
    list_01 = []
    url = 'https://music.163.com/discover/playlist/?order=hot&cat=%E5%8D%8E%E8%AF%AD&limit=35&offset={page}'
    for page in range(0,1295,35):    
        url1 = url.format(page = page)
        list = []
        for i in scrape_index(url1):  
            i_url = i.attr('href')     
            '''
            网易云歌单API
            https://music.163.com/api/playlist/detail?id={歌单ID}
            热评获取API
            http://music.163.com/api/v1/resource/comments/R_SO_4_{歌曲ID}?limit=20&offset=0
            '''
            detail_url = f'https://music.163.com/api{i_url.replace("?","/detail?")}'   
            list.append(detail_url) 
        list_01.extend(list)    # extend 对列表合并          
        time.sleep(5+random.random())  
    return list_01

这样我们就可以获得38页每页35篇歌单,共1330篇歌单。
类似的是后面热评的获取,我们也只是需要获取歌曲ID,然后再用网易云的热评API即可获得详细的歌曲热评。

我们只需要获得歌曲的name和id的值即可。

def parse_detail
  • 25
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 51
    评论
评论 51
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值