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 Django模板的使用方法(图文)
Nov 04 Python
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
May 20 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
python把数组中的数字每行打印3个并保存在文档中的方法
Jul 17 Python
对Python实现累加函数的方法详解
Jan 23 Python
Django实现后台上传并显示图片功能
May 29 Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 Python
python利用faker库批量生成测试数据
Oct 15 Python
python爬虫爬取图片的简单代码
Jan 18 Python
Python开发简易五子棋小游戏
May 02 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中的导入文件标签
2013/06/20 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
JavaScript获取并更改input标签name属性的方法
2015/07/02 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
Vue实现购物车功能
2017/04/27 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
js canvas实现写字动画效果
2018/11/30 Javascript
vue 之 css module的使用方法
2018/12/04 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
在Vue中使用Select选择器拼接label的操作
2020/10/22 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
实例讲解Python中的私有属性
2014/08/21 Python
Python3.x中自定义比较函数
2015/04/24 Python
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
python 实现图像快速替换某种颜色
2020/06/04 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
公司寄语大全
2014/04/10 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
繁星春水读书笔记
2015/06/30 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server