爬取酷狗音乐Top100_排行榜

酷狗音乐: https://www.kugou.com/

(1)我们爬取的是这里,  url : https://www.kugou.com/yy/rank/home/2-8888.html

通过观察url , 改变/2-8888.html 就是第二页, 所以每一页都是

https://www.kugou.com/yy/rank/home/{ }-8888.html 这样的url 形式

(2)我们需要爬取的信息有

 

代码: 

import requests
from bs4 import BeautifulSoup
import time

#加入请求头
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36'

}
def get_info(url):
    #获取页面需要的信息, 这里我们需要 排名, 歌手的名字,音乐名,播放时间
    wb_data = requests.get(url,headers=headers)
    soup = BeautifulSoup(wb_data.text,'lxml') # 解析网页信息

    ranks = soup.select('span.pc_temp_num') # 用select 获取ranks 标签
    titles = soup.select('div.pc_temp_songlist > ul > li > a')
    times = soup.select('span.pc_temp_tips_r > span')
    for rank ,title,time  in zip(ranks,titles,times):

        data = {
            'rank':rank.get_text().strip() ,

            'singer':title.get_text().split('-')[0],
            'song':title.get_text().split('-')[1],
            'time':time.get_text().strip()

        }
        print(data)

if __name__ == '__main__':
    urls = ['https://www.kugou.com/yy/rank/home/{}-8888.html'.format
            (str(i)) for i in range(1,10)] # 生成url 链接
    for url in urls:
        get_info(url)
        time.sleep(1) #睡眠1秒
        # print(url)


部分展示:  

{'rank': '1', 'singer': '陈雪凝 ', 'song': ' 你的酒馆对我打了烊', 'time': '4:11'}
{'rank': '2', 'singer': '陈雪凝 ', 'song': ' 绿色', 'time': '4:29'}
{'rank': '3', 'singer': '王琪 ', 'song': ' 万爱千恩', 'time': '5:22'}
{'rank': '4', 'singer': '大壮 ', 'song': ' 伪装', 'time': '5:01'}
{'rank': '5', 'singer': '王琪 ', 'song': ' 站着等你三千年', 'time': '6:21'}
{'rank': '6', 'singer': '孤独诗人 ', 'song': ' 渡我不渡她', 'time': '3:02'}
{'rank': '7', 'singer': '花姐 ', 'song': ' 狂浪', 'time': '3:01'}
{'rank': '8', 'singer': '周杰伦 ', 'song': ' 告白气球', 'time': '3:35'}
{'rank': '9', 'singer': '蕾蕾的小麦霸们、张振轩 ', 'song': ' 赢在江湖 (童声版)', 'time': '3:46'}
{'rank': '10', 'singer': '张紫豪 ', 'song': ' 可不可以', 'time': '4:00'}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值