python爬取音乐源码_Python爬虫教程,爬取网易云的音乐
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值,如下图:
所以只需把上面程序中的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爬虫教程,爬取网易云的音乐相关推荐
- python股票回测源码_Python爬虫回测股票的实例讲解
股票和基金一直是热门的话题,很多周围的人都选择不同种类的理财方式.就股票而言,肯定是短时间内收益最大化,这里我们需要用python爬虫的方法,来帮助我们获取一些股票的数据,这样才能更好的买到相应的股票 ...
- python爬网页源码_python爬虫爬取网页的内容和网页源码不同?
可以看到这里id为k_total的元素值不同,爬出来是1,网页源码是55. 附还未完成的代码:import requests from bs4 import BeautifulSoup import ...
- python 网上爬取数据源码_Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章...
1.最简单的Python爬虫 最简单的Python爬虫莫过于直接使用urllib.request.urlopen(url=某网站)或者requests.get(url=某网站)例如:爬取漫客栈里面的漫 ...
- python源码_Python爬虫入门之获取网页源码
爬虫,就是用程序代替人去访问网站,然后把网站上需要的东西拿下来:类似人输入网址,看到页面,然后复制粘贴,只是把这个过程自动化. 那么第一步就是去访问网站,要看到网站的页面,对程序来说也就是源码.笔者在 ...
- python爬取腾讯新闻_python爬虫实战――爬取腾讯新闻 !
无论我们通过浏览器打开网站.访问网页,还是通过脚本对URL网址进行访问,本质上都是对HTTP服务器的请求,浏览器上所呈现的.控制台所显示的都是HTTP服务器对我们请求的响应. 以打开腾讯新闻官网为例, ...
- python批量访问网页保存结果_Python爬虫(批量爬取某网站图片)
1.需要用到的库有: Requests re os time 如果没有安装的请自己安装一下,pycharm中打开终端输入命令就可以安装 2.IDE : pycharm 3.python 版本: 3.8 ...
- python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例
本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...
- python爬取链家新房_Python爬虫项目--爬取链家热门城市新房
本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...
- python爬虫代码实例源码_python爬虫代码示例分享
这篇文章主要介绍了三个python爬虫项目实例代码,使用了urllib2库,文中示例代码非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下. python爬虫代码示例分享 一. ...
- python爬虫爬取58网站数据_Python爬虫,爬取58租房数据 字体反爬
Python爬虫,爬取58租房数据 这俩天项目主管给了个爬虫任务,要爬取58同城上福州区域的租房房源信息.因为58的前端页面做了base64字体加密所以爬取比较费力,前前后后花了俩天才搞完. 项目演示 ...
最新文章
- tomcat php模块化运行,Windows下 Tomcat 运行 PHP 的配置
- 前端(五)——CSS之美化页面
- node --- 模拟express实现一个简单的服务器
- 为回馈广大学员,智捷课堂买关老师Cocos2d-x课程送Cocos2d-x图书
- flask 部署_只需10分钟!就能用Flask,Docker和Jenkins部署机器学习模型
- php 开启phalocn 扩展_php7安装3.4版本的phalcon扩展
- 五 .3D-2D:PnP问题求解 非线性法BA
- css3如何链如外部字体,微信小程序引入外部字体总结(针对安卓加载缓慢问题)...
- 黑马程序员-Java基础,Java集合Collection和Iterator接口
- 科技部领衔发布中国新一代AI发展报告:中美成全球AI网络核心节点
- 程序异常自动生成DMP文件
- 计算机专业移民,计算机专业成为新晋移民专业了!
- 书评 | 赋能 - 打造应对不确定性的敏捷团队
- 迭代总结会议的旁观感想
- 基于BIM轻量化的智能建造OA管理系统
- 如何解决windows10 默认浏览器为不是Microsoft Edge(或者想改动)时出现闪退,且改动失败
- android入门及晋级
- c语言单片机停车场收费系统,基于51单片机停车场车位引导系统设计
- Effective C++:条款05:了解C++默默编写并调用哪些函数 (Know what functions C++ silently writes and calls.)...
- 游戏美术设计从业者过了30岁后都是如何发展的?