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使用htpasswd实现基本认证授权的例子
Jun 10 Python
Python中函数的用法实例教程
Sep 08 Python
Python中用startswith()函数判断字符串开头的教程
Apr 07 Python
简单总结Python中序列与字典的相同和不同之处
Jan 19 Python
Python执行时间的计算方法小结
Mar 17 Python
详谈Python2.6和Python3.0中对除法操作的异同
Apr 28 Python
查看django执行的sql语句及消耗时间的两种方法
May 29 Python
一篇文章搞懂Python的类与对象名称空间
Dec 10 Python
检测tensorflow是否使用gpu进行计算的方式
Feb 03 Python
python selenium操作cookie的实现
Mar 18 Python
python 制作python包,封装成可用模块教程
Jul 13 Python
Python实现对word文档添加密码去除密码的示例代码
Dec 29 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 5.3.5安装memcache注意事项小结
2011/04/12 PHP
重新认识php array_merge函数
2014/08/31 PHP
PHP实现清除MySQL死连接的方法
2016/07/23 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
JavaScript 学习笔记(十一)
2010/01/19 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
js使用心得分享
2015/01/13 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
python中global用法实例分析
2015/04/30 Python
小小聊天室Python代码实现
2016/08/17 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
python使用zip将list转为json的方法
2018/12/31 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
在什么时候需要使用"常引用"
2015/12/31 面试题
8和9的加减法教学反思
2014/05/01 职场文书
学校班班通实施方案
2014/06/11 职场文书
2016春节慰问信范文
2015/03/25 职场文书
借款民事起诉状范文
2015/05/19 职场文书
交通事故调解协议书
2015/05/20 职场文书
工程移交协议书
2016/03/24 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS