1. 虾米关服

在这里插入图片描述

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

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

2. 准备工作

首先需再在个人设置中勾上该选项:

在这里插入图片描述

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

3. python代码

话不多说,直接上代码:
python==3.6.2
urllib==1.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爬取虾米播放记录的代码过程
我是白白,一个喜欢学习喜欢编程的年轻人
想学习python的可以关注私信我哦~
欢迎小白、萌新、大佬加入我们
小白学习交流基地【(九七四)(七二四)(八九四)】

python 虾米停服了...用python爬取虾米最近播放的1000首歌的更多相关文章

  1. Python爬虫教程-13-爬虫使用cookie爬取登录后的页面(人人网)(下)

    Python爬虫教程-13-爬虫使用cookie爬取登录后的页面(下) 自动使用cookie的方法,告别手动拷贝cookie http模块包含一些关于cookie的模块,通过他们我们可以自动的使用co ...

  2. [Python爬虫] 使用 Beautiful Soup 4 快速爬取所需的网页信息

    [Python爬虫] 使用 Beautiful Soup 4 快速爬取所需的网页信息 2018-07-21 23:53:02 larger5 阅读数 4123更多 分类专栏: 网络爬虫   版权声明: ...

  3. Python爬虫小白入门(七)爬取豆瓣音乐top250

      抓取目标: 豆瓣音乐top250的歌名.作者(专辑).评分和歌曲链接 使用工具: requests + lxml + xpath. 我认为这种工具组合是最适合初学者的,requests比pytho ...

  4. Python使用urllib,urllib3,requests库+beautifulsoup爬取网页

    Python使用urllib/urllib3/requests库+beautifulsoup爬取网页 urllib urllib3 requests 笔者在爬取时遇到的问题 1.结果不全 2.'抓取失 ...

  5. Python网页解析库:用requests-html爬取网页

    Python网页解析库:用requests-html爬取网页 1. 开始 Python 中可以进行网页解析的库有很多,常见的有 BeautifulSoup 和 lxml 等.在网上玩爬虫的文章通常都是 ...

  6. 【个人】爬虫实践,利用xpath方式爬取数据之爬取虾米音乐排行榜

    实验网站:虾米音乐排行榜 网站地址:http://www.xiami.com/chart  难度系数:★☆☆☆☆ 依赖库:request.lxml的etree (安装lxml:pip install ...

  7. 服务器 Python服务停服、起服脚本

    近日,在阿里云服务器上部署了一个Python,Web框架为Tornado,服务器为Ubuntu 16.04. 服务的启动也十分的简单: python services.py 我是利用Xshell工具连 ...

  8. python爬虫实例,一小时上手爬取淘宝评论(附代码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 1 明确目的 通过访问天猫的网站,先搜索对应的商品,然后爬取它的评论数据. ...

  9. Python爬虫实战(2):爬取京东商品列表

    1,引言 在上一篇<Python爬虫实战:爬取Drupal论坛帖子列表>,爬取了一个用Drupal做的论坛,是静态页面,抓取比较容易,即使直接解析html源文件都可以抓取到需要的内容.相反 ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件外观展示类属性elideMode、documentMode、tabBarAutoHide、tabShape介绍

    QTabWidget的外观展示类属性包括tabPosition.tabShape.elideMode.usesScrollButtons.documentMode.tabBarAutoHide和ico ...

  2. 【Codeforces 1083C】Max Mex(线段树 & LCA)

    Description 给定一颗 \(n\) 个顶点的树,顶点 \(i\) 有点权 \(p_i\).其中 \(p_1,p_2,\cdots, p_n\) 为一个 \(0\sim (n-1)\) 的一个 ...

  3. viewer使用

    一款pc端,点击放大,缩放,翻转等功能的插件.

  4. 11g RAC 集群数据库不能跟随集群启动

    1.查看集群资源详细情况 [oracle@rac01-+ASM1 ~]$ crsctl stat res -p 2.修改集群资源ora.rac.db的auto_start属性改为always [ora ...

  5. jmeter接口测试笔记

    1.接口测试基础 API:Application Programming Interface,即调用应用程序的通道. 接口测试遵循点 接口的功能性实现:检查接口返回的数据与预期结果的一致性. 测试接口 ...

  6. ambari 修改kafka日志目录后,写入数据无法消费

    ## 起因:ambari 修改kafka日志目录后,写入数据无法消费 - 使用下面的客户端消费命令可以消费到数据 ./kafka-console-consumer.sh --zookeeper 192 ...

  7. $$ PHP 的含义

    php中两个$也就bai是$$用来定义可变变量. 所谓可变变量,就是一个变量的名,又是一个变量.

  8. JMeter上传文件,并修改源码参数化Content-Disposition 的 filename

    一.JMeter上传文件 1.使用F12或抓包工具抓包对应接口 如下图为一个上传图片接口,抓包显示内容如下: 2.将抓包到的信息头内容填写到jmeter的HTTP信息头管理器 3.填写参数 由抓包的接 ...

  9. Appium App UI 自动化测试理论知识

    (一)App自动化测试背景 随着移动终端的普及,手机应用越来越多,也越来越重要.App的回归测试用例数量越来越多,全量回归也越来越消耗时间.另外移动端碎片化严重(碎片化:兼容性测试,手机品牌多样.An ...

  10. Win10-1909删除自带的微软输入法,添加美式键盘

    删除自带     输入法切换