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 相关文章推荐
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 Python
Django实战之用户认证(初始配置)
Jul 16 Python
OpenCV搞定腾讯滑块验证码的实现代码
May 18 Python
python 绘制拟合曲线并加指定点标识的实现
Jul 10 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
Aug 29 Python
python opencv图片编码为h264文件的实例
Dec 12 Python
Python QT组件库qtwidgets的使用
Nov 02 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
Nov 18 Python
Python urllib3软件包的使用说明
Nov 18 Python
Python与C/C++的相互调用案例
Mar 04 Python
python中Matplotlib绘制直线的实例代码
Jul 04 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
使用PHP的日期与时间函数技巧
2008/04/24 PHP
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
python实现矩阵乘法的方法
2015/06/28 Python
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
家庭户外服装:Hawkshead
2017/11/02 全球购物
中文系师范生自荐信
2013/10/01 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
邀请函模板
2015/02/02 职场文书
护士个人年终总结
2015/02/13 职场文书
会计工作态度自我评价
2015/03/06 职场文书
超级礼物观后感
2015/06/15 职场文书