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中用Decorator来简化元编程的教程
Apr 13 Python
python3监控CentOS磁盘空间脚本
Jun 21 Python
Python 查找list中的某个元素的所有的下标方法
Jun 27 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
对Xpath 获取子标签下所有文本的方法详解
Jan 02 Python
python pandas时序处理相关功能详解
Jul 03 Python
Python目录和文件处理总结详解
Sep 02 Python
Django实现将views.py中的数据传递到前端html页面,并展示
Mar 16 Python
python代码能做成软件吗
Jul 24 Python
Python利用myqr库创建自己的二维码
Nov 24 Python
如何用 Python 制作一个迷宫游戏
Feb 25 Python
使用pandas模块实现数据的标准化操作
May 14 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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
PHP+MYSQL 出现乱码的解决方法
2008/08/08 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
PHP中COOKIES使用示例
2015/07/26 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
超级退弹代码
2008/07/07 Javascript
JS 时间显示效果代码
2009/08/23 Javascript
JS 用6N±1法求素数 实例教程
2009/10/20 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
vue使用Google地图的实现示例代码
2018/12/19 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
python正则-re的用法详解
2019/07/28 Python
python pandas 时间日期的处理实现
2019/07/30 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
python属于解释语言吗
2020/06/11 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
购买原创艺术品:Zatista
2019/11/09 全球购物
尽职尽责村干部自我鉴定
2014/01/23 职场文书
道路建设实施方案
2014/03/18 职场文书
设备管理实施方案
2014/05/31 职场文书
白莲教口号
2014/06/18 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
nginx.conf配置文件结构小结
2022/04/08 Servers