https://m10.music.126.net/20200715163315/a075d787d191f6729a517527d6064f59/ymusic/0552/0f0e/530f/28d03e94478dcc3e0479de4b61d224e9.mp3

Part2 编写爬虫程序

接下来就超级简单了

下面的代码是最常规的操作,应该有爬虫基础的都能看懂;如果有不懂的,注释都在上面

#导入requests包

import requests

#进行UA伪装

headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'}

#指定url

url= 'https://m10.music.126.net/20200715163315/a075d787d191f6729a517527d6064f59/ymusic/0552/0f0e/530f/28d03e94478dcc3e0479de4b61d224e9.mp3'#调用requests.get方法对url进行访问,和持久化存储数据

audio_content= requests.get(url=url,headers=headers).content

#存入本地

with open('空山新雨后.mp3','wb') asf :

f.write(audio_content)

print("空山新雨后爬取成功!!!")

Part3 更高级的

看到这里,你可能会想,为啥根本没用selenium模块呢?能不能直接爬取任何一首我想要的歌,而不用每首都去费心费力的找一个url呢?当然可以哒!

其实网易云在线播放每首歌曲时,都有一个外链地址,这是不会变的,跟每首歌的唯一一个id绑定在一起,每首歌audio文件的url如下:

url = 'http://music.163.com/song/media/outer/url?id=' + 歌曲的id值 + '.mp3'

id值的获取也很简单,当我们点进每首歌时,上方会出现对应的网址,那里有id值,如下图:

67417.html

所以只需把上面程序中的url改成新的url即可

如果还想要更好的体验效果,实现在程序里直接搜索歌曲,拿到id值,就需要用到selenium模块

为什么用selenium而不用xpath或bs4?

因为搜索页面的数据是动态加载出来的,如果直接对搜索页面的网页进行数据解析,就拿不到任何数据;以我目前的技术,就只能想到使用万能的selenium模块,下面大概说明一下步骤:

进行selenium无可视化界面设置

fromselenium.webdriver.chrome.options import Options

chrome_options=Options()

chrome_options.add_argument('--headless')

chrome_options.add_argument('--disable-gpu')

导包

import requests

import refromselenium import webdriverfrom time import sleep

指定歌曲,得到对应搜索页面的url

name = input('请输入歌名:')

url_1= 'https://music.163.com/#/search/m/?s=' + name + '&type=1'

获取搜索页面的html文件

#初始化browser对象

browser= webdriver.Chrome(executable_path='chromedriver.exe',chrome_options=chrome_options)

#访问该url

browser.get(url=url_1)

#由于网页中有iframe框架,进行切换

browser.switch_to.frame('g_iframe')

#等待0.5秒

sleep(0.5)

#抓取到页面信息

page_text= browser.execute_script("return document.documentElement.outerHTML")

#退出浏览器

browser.quit()

用正则模块re匹配html文件中的id值、歌名和歌手

ex1 = ''ex3= 'class="td w1">(.*?)

'id_list= re.findall(ex1,page_text,re.M)[::2]

python爬取音乐源码_Python爬虫教程,爬取网易云的音乐相关推荐

  1. python股票回测源码_Python爬虫回测股票的实例讲解

    股票和基金一直是热门的话题,很多周围的人都选择不同种类的理财方式.就股票而言,肯定是短时间内收益最大化,这里我们需要用python爬虫的方法,来帮助我们获取一些股票的数据,这样才能更好的买到相应的股票 ...

  2. python爬网页源码_python爬虫爬取网页的内容和网页源码不同?

    可以看到这里id为k_total的元素值不同,爬出来是1,网页源码是55. 附还未完成的代码:import requests from bs4 import BeautifulSoup import ...

  3. python 网上爬取数据源码_Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章...

    1.最简单的Python爬虫 最简单的Python爬虫莫过于直接使用urllib.request.urlopen(url=某网站)或者requests.get(url=某网站)例如:爬取漫客栈里面的漫 ...

  4. python源码_Python爬虫入门之获取网页源码

    爬虫,就是用程序代替人去访问网站,然后把网站上需要的东西拿下来:类似人输入网址,看到页面,然后复制粘贴,只是把这个过程自动化. 那么第一步就是去访问网站,要看到网站的页面,对程序来说也就是源码.笔者在 ...

  5. python爬取腾讯新闻_python爬虫实战――爬取腾讯新闻 !

    无论我们通过浏览器打开网站.访问网页,还是通过脚本对URL网址进行访问,本质上都是对HTTP服务器的请求,浏览器上所呈现的.控制台所显示的都是HTTP服务器对我们请求的响应. 以打开腾讯新闻官网为例, ...

  6. python批量访问网页保存结果_Python爬虫(批量爬取某网站图片)

    1.需要用到的库有: Requests re os time 如果没有安装的请自己安装一下,pycharm中打开终端输入命令就可以安装 2.IDE : pycharm 3.python 版本: 3.8 ...

  7. python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例

    本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...

  8. python爬取链家新房_Python爬虫项目--爬取链家热门城市新房

    本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...

  9. python爬虫代码实例源码_python爬虫代码示例分享

    这篇文章主要介绍了三个python爬虫项目实例代码,使用了urllib2库,文中示例代码非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下. python爬虫代码示例分享 一. ...

  10. python爬虫爬取58网站数据_Python爬虫,爬取58租房数据 字体反爬

    Python爬虫,爬取58租房数据 这俩天项目主管给了个爬虫任务,要爬取58同城上福州区域的租房房源信息.因为58的前端页面做了base64字体加密所以爬取比较费力,前前后后花了俩天才搞完. 项目演示 ...

最新文章

  1. tomcat php模块化运行,Windows下 Tomcat 运行 PHP 的配置
  2. 前端(五)——CSS之美化页面
  3. node --- 模拟express实现一个简单的服务器
  4. 为回馈广大学员,智捷课堂买关老师Cocos2d-x课程送Cocos2d-x图书
  5. flask 部署_只需10分钟!就能用Flask,Docker和Jenkins部署机器学习模型
  6. php 开启phalocn 扩展_php7安装3.4版本的phalcon扩展
  7. 五 .3D-2D:PnP问题求解 非线性法BA
  8. css3如何链如外部字体,微信小程序引入外部字体总结(针对安卓加载缓慢问题)...
  9. 黑马程序员-Java基础,Java集合Collection和Iterator接口
  10. 科技部领衔发布中国新一代AI发展报告:中美成全球AI网络核心节点
  11. 程序异常自动生成DMP文件
  12. 计算机专业移民,计算机专业成为新晋移民专业了!
  13. 书评 | 赋能 - 打造应对不确定性的敏捷团队
  14. 迭代总结会议的旁观感想
  15. 基于BIM轻量化的智能建造OA管理系统
  16. 如何解决windows10 默认浏览器为不是Microsoft Edge(或者想改动)时出现闪退,且改动失败
  17. android入门及晋级
  18. c语言单片机停车场收费系统,基于51单片机停车场车位引导系统设计
  19. Effective C++:条款05:了解C++默默编写并调用哪些函数 (Know what functions C++ silently writes and calls.)...
  20. 游戏美术设计从业者过了30岁后都是如何发展的?

热门文章

  1. 【产品必备软件合集】
  2. 熊猫烧香病毒逆向分析
  3. 考研数学备考思路和计划制定
  4. 最具潜力的编程语言GO有新书啦!
  5. 对平衡二叉搜索树Balance Binary Search Tree所有功能的实现的头文件
  6. php 源码 flash,Flash小游戏PHP源码
  7. WSDL文件生成Java代码
  8. Android应用程序开发实用案例50则
  9. 将华为路由器做成ftp服务器(实现上传下载功能)
  10. Dev C++使用教程(使用Dev C++编写C语言程序)