python使用beautifulsoup4爬取酷狗音乐代码实例


Posted in Python onDecember 04, 2019

这篇文章主要介绍了python使用beautifulsoup4爬取酷狗音乐代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

小编经常在网上听一些音乐但是有一些网站好多音乐都是付费下载的正好我会点爬虫技术,空闲时间写了一份,截止4月底没有问题的,会下载到当前目录,只要按照bs4库就好,

安装方法:pip install beautifulsoup4

完整代码如下:双击就能直接运行

from bs4 import BeautifulSoup
import requests
import re
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36'
}
url='https://songsearch.kugou.com/song_search_v2?&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=1555124510574'
#想要爬取别的网页直接修改这个json数据地址就行
r=requests.get(url,headers=headers)
soup=BeautifulSoup(r.text,'lxml')
title_list=soup.select('.pc_temp_songlist ul li')
hash=re.findall(r',"FileHash":"(.*?)"',r.text)
hash1=re.findall(r',"FileName":"(.*?)"',r.text)
#直接用正则匹配隐藏的数据
print(hash)
print(hash1)
q=0
for url in hash:
url_a=f'https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery1910212680783679835_1555073815772&hash={url}&album_id=18784389'
#这个URL不用修改的
c=requests.get(url_a,headers=headers)
a=c.text[40:-3]
b=re.findall('"play_url":"(.*)","authors":',a)[0]
b1=re.sub(r"\\",'',b)
f = requests.get(b1)
with open(hash1[q]+'.mp3','wb')as d:
d.write(f.content)
print(hash1[q])
q+=1

爬取酷狗的唯一难点就是hash值的获取找了一个多小时才找到,比网易云好点就是自己不用写一个哈希值,酷狗是自己就存在的能找到,网易云是需要函数生成的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
新手该如何学python怎么学好python?
Oct 07 Python
轻松掌握python设计模式之策略模式
Nov 18 Python
用python写一个windows下的定时关机脚本(推荐)
Mar 21 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
May 04 Python
python中in在list和dict中查找效率的对比分析
May 04 Python
在python中只选取列表中某一纵列的方法
Nov 28 Python
python TF-IDF算法实现文本关键词提取
May 29 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
Django项目uwsgi+Nginx保姆级部署教程实现
Apr 19 Python
django模型类中,null=True,blank=True用法说明
Jul 09 Python
使用Python爬取小姐姐图片(beautifulsoup法)
Feb 11 Python
如何使用python包中的sched事件调度器
Apr 30 Python
python3中numpy函数tile的用法详解
Dec 04 #Python
python 实现目录复制的三种小结
Dec 04 #Python
python求绝对值的三种方法小结
Dec 04 #Python
解决Python3下map函数的显示问题
Dec 04 #Python
Django3.0 异步通信初体验(小结)
Dec 04 #Python
在OpenCV里实现条码区域识别的方法示例
Dec 04 #Python
Python绘图实现显示中文
Dec 04 #Python
You might like
thinkphp整合微信支付代码分享
2016/11/24 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
PHP利用DWZ.CN服务生成短网址
2019/08/11 PHP
jQuery中Dom的基本操作小结
2014/01/23 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
axios拦截设置和错误处理方法
2018/03/05 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
如何利用JS将手机号中间四位变成*号
2020/09/29 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
Python之父谈Python的未来形式
2016/07/01 Python
一张图带我们入门Python基础教程
2017/02/05 Python
python可视化实现代码
2019/01/15 Python
python hash每次调用结果不同的原因
2019/11/21 Python
Python原始套接字编程实例解析
2020/01/29 Python
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
建筑安全责任书范本
2014/07/24 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
婚姻出轨保证书
2015/05/08 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
考研经验交流会策划书
2015/11/02 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android
浅析JavaScript中的变量提升
2022/06/01 Javascript