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 相关文章推荐
PyCharm 常用快捷键和设置方法
Dec 20 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
基于Python socket的端口扫描程序实例代码
Feb 09 Python
python自动化生成IOS的图标
Nov 13 Python
解决Python运行文件出现out of memory框的问题
Dec 03 Python
对python判断是否回文数的实例详解
Feb 08 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
用Python徒手撸一个股票回测框架搭建【推荐】
Aug 05 Python
pytorch多GPU并行运算的实现
Sep 27 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 Python
Python 依赖库太多了该如何管理
Nov 08 Python
PyQt中使用QtSql连接MySql数据库的方法
Jul 28 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的memcached客户端memcached
2011/06/14 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
深入解析php中的foreach函数
2013/08/31 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
JS Map 和 List 的简单实现代码
2013/07/08 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
在vue中使用vant TreeSelect分类选择组件操作
2020/11/02 Javascript
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
django富文本编辑器的实现示例
2019/04/10 Python
python中对_init_的理解及实例解析
2019/10/11 Python
django使用JWT保存用户登录信息
2020/04/22 Python
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
新大陆软件面试题
2016/11/24 面试题
农民入党思想汇报
2014/01/03 职场文书
离婚财产处理协议书
2014/09/30 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python
解决 redis 无法远程连接
2022/05/15 Redis