一,简单介绍python

1.众所周知,python在近几年可以说是非常火爆,在受欢迎排名上经常位于前列

2017年IEEE Spectrum 最新的研究报告

2018年TIOBE 刚刚发布了 6 月编程语言排行榜

2.百科简单介绍

Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。等等。

3.python优势及推荐视频

Python相对于其他语言有以下的优势:

1、Python易于学习

2、Python让你能用少量的代码构建出更多的功能

3. Python是一门多才多艺的语言,似乎每个领域都可以使用:系统操作,Web开发,部署,科学建模等,大抵找不出第二个更多才多艺的语言了。

4.Python拥有最成熟的程序包资源库之一

5.Python在数据科学领域被广泛使用

Python教学视频:

1.    腾讯课堂上的马哥教育视频

2.    廖雪峰的python教程网站

3.    B站上的python视频(小甲鱼零基础入门学习)

4.    有问题也可以上博客知乎等查找资料

二,爬虫过程(抓取喜马拉雅网站的音乐并下载在文件夹上)

1.实验环境

win10,pycharm,python3.6,火狐浏览器

2.添加相关库

打开pycharm

点击设置

点击项目解释器,再点击右边+号

搜索相关库并添加,例如:requests

新建文件

用火狐浏览器打开喜马拉雅网站,再点击音乐,可以得到喜马拉雅音乐模块的url

点击流行和摇滚,我们可以观察并发现https://www.ximalaya.com/yinyue/与搜索内容拼音组合即使是搜索结果的url

然后我们发现未点击播放时抓取的信息的页面:

点击播放后的页面:

所以我们会发现多出get方法的一个json文件

观察上面两张图片:浏览这个json

并在浏览器打开这个网址:

https://www.ximalaya.com/revision/play/album?albumId=391242&pageNum=1&pageSize=30

观察可知,可以看到albumId,还有音频文件url:

"http://audio.xmcdn.com/group12/M03/2C/AA/wKgDW1WJ7GqxuItqAB8e1LXvuds895.m4a"

访问搜索界面的源代码,查找albumId,通过这些albumid获取音频文件的url

最后使用函数urllib.request.urlretrieve()下载音乐

效果如下:

文件夹里下载好的歌曲:

具体代码:

import requests
import re        #正则表达式
import urllib   #下载音乐的库
from pypinyin import pinyin, lazy_pinyin
import pypinyin         #转为拼音的库
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0'} ##伪装成浏览器def Pinyin(search):       #输入要查找的内容0l=lazy_pinyin(search)   #字符串转化为拼音str1 = "".join(l)return str1def SearchHtml(str,header):             #获取搜索得到的htmlurl= 'https://www.ximalaya.com/yinyue/'+str#print(url)html=requests.get(url,headers=header)#print(html.status_code)html.encoding=html.apparent_encoding#print(html.text)return html#"albumId":3961176,"title":"六喜珠宝-车载音乐 欧美乡村民谣"def albumId(html):             #获取albumId的值 并将albumId与https://www.ximalaya.com/revision/play/album?albumId=组合json的urld=re.findall(r'"albumId":(.*?),',(html).text)url3=[]for x in (d[:1]):url2='https://www.ximalaya.com/revision/play/album?albumId='+xhtml2=requests.get(url2,headers=header)
#src   "http://audio.xmcdn.com/group12/M03/2C/AA/wKgDW1WJ7GqxuItqAB8e1LXvuds895.m4a"url3=(re.findall(r'"src":"(.*?)"',(html2).text))return url3def title(html):t=re.findall(r'"title":"(.*?)"',(html).text)    #获取titile(歌名)的值return tdef Download(url,title):    #下载音乐n=0for y in url:try:print("正在下载——"+str(t[n]))urllib.request.urlretrieve(y,r'D:\zachary\喜马拉雅音乐\\'+str(t[n]+'.m4a'))print("下载——"+str(t[n])+"——成功")n=n+1except:print("下载——"+str(t[n])+"——失败")str1=Pinyin('摇滚')
html=SearchHtml(str1,header)
t=title(html)
url3=albumId(html)
Download(url3,t)

三,结尾

谢谢各位观看。如有错误的地方,非常欢迎大家通知改正。谢谢。

源码获取加群:1136192749

Python3简单爬虫之下载相关类型音乐(喜马拉雅网站)!相关推荐

  1. Python3简单爬虫之下载相关类型音乐(喜马拉雅网站)

    一,简单介绍python 1.众所周知,python在近几年可以说是非常火爆,在受欢迎排名上经常位于前列 2017年IEEE Spectrum 最新的研究报告 2018年TIOBE 刚刚发布了 6 月 ...

  2. 第一个简单爬虫之下载小说

    仅做学习用途!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 看小说请支持正版!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 做了 ...

  3. Python3简单爬虫:爬取猫眼评分top100电影

    Python3:用xpath库爬取猫眼评分top100电影 在看<Python3 网络爬虫开发实战中>一书学习时,书中第三章例子用re正则匹配来爬取电影的所需数据,虽然爬取速度快,效率好, ...

  4. node.js 实现简单爬虫批量下载喜马拉雅音频

    前提:最近一直在看node,平时碎觉喜欢听盗墓笔记啥的有声小说,然后突然就就想试着写个爬虫自己下载下来,虽然有点多此一举,但是就当学习练练手了,在这里记录一下! 没有express基础的,请先行了解 ...

  5. python爬取酷狗音乐json数据为空_【Python3爬虫】下载酷狗音乐上的歌曲

    经过测试,可以下载要付费下载的歌曲(n_n) 准备工作:python3.5+pycharm 使用到的库:requests,re,json 步骤: 打开酷狗音乐的官网,输入想要搜索的歌曲(例如<天 ...

  6. 【Python3爬虫】下载酷狗音乐上的歌曲

    经过测试,可以下载要付费下载的歌曲(n_n) 准备工作:Python3.5+Pycharm 使用到的库:requests,re,json,time,fakeuseragent 步骤: 打开酷狗音乐的官 ...

  7. python3 简单爬虫实战|使用selenium来模拟浏览器抓取选股宝网站信息里面的股票

    对爬虫的简单介绍 1.    什么是爬虫? 请求页面并提取数据的自动化过程. 2.    爬虫的基本流程 (1) 发起请求:通过url向服务器发起request请求,请求可以包含额外的header信息 ...

  8. Python3 网络爬虫:下载小说的正确姿势

    1 前言 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. 那么针对这三类人,我 ...

  9. Python3 简单爬虫爬取百度贴吧帖子

    使用Python3.x的版本 对http://tieba.baidu.com/p/2005436135,该百度贴吧帖子进行爬取操作. 一.使用到的库. 1.   urllib.request   :对 ...

最新文章

  1. 「AI初识境」激活函数:从人工设计到自动搜索
  2. 应用Java程序片段动态生成表格
  3. 注册jdbc驱动程序的三种方式
  4. elasticsearch索引模板
  5. Hadoop -- ES -- CURD
  6. Vue 使用 screenfull 实现全屏
  7. 拆半查找的递归和非递归算法
  8. 【初窥javascript奥秘之闭包】叶大侠病都好了,求不踩了:)
  9. Qt通过ODBC读取excel文件
  10. pat 乙级 1008 数组元素循环右移问题(C++)
  11. 快速搭建redis单机版和redis集群版
  12. 19 CO配置-控制-产品成本控制-产品成本计划编制-定义日期控制
  13. coursera访问不了
  14. Grafana v6.0.0 发布,系统指标监控与分析平台
  15. Java编程:排序算法——归并排序
  16. 软件需求规格说明书模板
  17. 滚球板球控制系统详解(openmv+stm32实现)
  18. 1+x云计算中级,第二天串讲,拓扑图
  19. 爬取静态壁纸网站实现批量下载
  20. 各软件版本、仓库、官网地址

热门文章

  1. NBA表格_巅峰乔丹的进攻水平,是NBA常规赛历史最佳么?
  2. 系统管理员在企业中的职业定位及发展方向
  3. 中文字体设置fontFamily无效
  4. java8分组_JAVA8 分组统计
  5. SQL中modify和alter用法区别
  6. 我认识的七个理想主义者
  7. DNSPod十问Neha Naik:以人民币结算海外IT业务的可能性?
  8. 超实用!Python机器学习书籍推荐——《Python神经网络编程》(一定要看到最后)
  9. 新安装Win7 Windows Update 错误 代码80072EE2 80072EFE
  10. 漫威对决同位素实验室怎么玩