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装饰器验证配置文件示例
Feb 24 Python
wxPython中文教程入门实例
Jun 09 Python
Python文件右键找不到IDLE打开项解决办法
Jun 08 Python
Python简单获取自身外网IP的方法
Sep 18 Python
python数据结构之链表的实例讲解
Jul 25 Python
Python2.7 实现引入自己写的类方法
Apr 29 Python
selenium+python实现自动化登录的方法
Sep 04 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
如何使用python传入不确定个数参数
Feb 18 Python
Python多线程通信queue队列用法实例分析
Mar 24 Python
python获取linux系统信息的三种方法
Oct 14 Python
Anaconda安装pytorch和paddle的方法步骤
Apr 03 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
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
Stop SQL Server
2007/06/21 Javascript
JavaScript 学习笔记(四)
2009/12/31 Javascript
IE8 中使用加速器(Activities)
2010/05/14 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
2013/08/19 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
重置Redux的状态数据的方法实现
2019/11/18 Javascript
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
阳光体育活动方案
2014/02/16 职场文书
降消项目实施方案
2014/03/30 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
电力工程合作意向书
2015/05/11 职场文书
党支部季度考核意见
2015/06/02 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
Go 自定义package包设置与导入操作
2021/05/06 Golang
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python