第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

python 蝦米停服了...用python爬取蝦米最近播放的1000首歌

標(biāo)簽:
Python 爬蟲

1. 虾米关服

在这里插入图片描述

用了5年多的音乐软件就这么说关就关了,确实让人心里不好受 ,虽然再去一个新的app里,让它们的算法熟悉你的喜好也不是很困难,可我还是习惯虾米的界面。虾米现在可以支持全方位的导出自己的歌单、收藏等,可毕竟是使用了那么久的听歌app,这么久时间的播放记录,是没办法导到其他app的,而且虾米是一个偏小众的听歌软件,它特有的听歌氛围和环境,是其他听歌软件没法儿比的,更何况虾米音乐的推荐算法也是深得人心。太难受了…赶紧保存最近的听歌记录,封存起来。

虾米只开放了最近1000条记录,应该是数据库只存了这么多吧…毕竟是被阿里巴巴抛弃放养的孩子…

2. 准备工作

首先需再在个人设置中勾上该选项:在这里插入图片描述

勾上后听歌的记录才会公开,才可以被程序爬取到。

3. python代码

话不多说,直接上代码:
python3.6.2
urllib1.26.2
lxml==4.6.2
pandas版本随意

# -*- coding: utf-8 -*-
"""
Created on 2021/1/5 13:46

@author: Irvinfaith

@email: Irvinfaith@hotmail.com
"""
from urllib.request import urlopen
from lxml import etree
import pandas as pd

# 定义xpath
song_name_xpath = '//div[@class="song-name em"]/a/text()'
singer_xpath = '//div[@class="singers COMPACT"]/a[1]/text()'
album_xpath = '//div[@class="album"]/a[1]/text()'
duration_xpath = '//span[@class="duration"]/text()'
# 定义爬取总页数
total_page = 34

def crawl_recent(user_id):
    song_name_list = []
    singer_list = []
    album_list = []
    duration_list = []
    for _ in range(total_page):
        print(_)
        url = f"https://www.xiami.com/list?page={_}&query=%7B%22userId%22%3A%22{user_id}%22%7D&scene=record&type=song"
        page = urlopen(url).read().decode("utf-8", 'ignore')
        parse = etree.HTML(page)
        for _song_name, _singer, _album, _duration in zip(parse.xpath(song_name_xpath),
                                               parse.xpath(singer_xpath),
                                               parse.xpath(album_xpath),
                                               parse.xpath(duration_xpath)):
            song_name_list.append(str(_song_name))
            singer_list.append(str(_singer))
            album_list.append(str(_album))
            duration_list.append(str(_duration))

    recent_music = pd.DataFrame({"song name": song_name_list, "singer": singer_list, "album": album_list, "duration": duration_list})
    return recent_music

if __name__ == '__main__':
	# 输入虾米用户id
    recent_music = crawl_recent("12345678")
    # recent_music.to_csv("D:/xiami_recent_1000.csv", index=0, encoding='utf-8')
    recent_music.to_excel("D:/xiami_recent_1000.xlsx")

输入虾米用户id,执行就会输出最近的歌曲了

输出的结果:
在这里插入图片描述

#总结
以上就是用python爬取虾米播放记录的代码过程
我是白白,一个喜欢学习喜欢编程的年轻人

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消