admin 管理员组文章数量: 887021
首先我要介绍本期用到的材料:
- python selenium框架.
- QQ音乐接口:QQ音乐无损接口
- requests,re,json框架
好了,准备完以上内容要准被开工了。首先不知带怎么配置可以参考文章这里有详细介绍,以小白的角度帮您配置好一切。当以上基础框架pip安装完成之后就可以。。。
代码仍在这里了,懂?
from selenium import webdriver as wb
import requests
import json
import re
class Qqmusic:
def conect_url(self, name):
self.name = name
self.url = 'https://y.qq/portal/search.html#page=1&searchid=1&remoteplace=txt.yqq.top&t=song&w=' + name
def get_page_url(self):
driver = wb.Chrome()
driver.get(self.url)
driver.implicitly_wait(10)
data = driver.find_element_by_xpath('//span[@class="songlist__songname_txt"]//a').get_attribute('href')
print(data)
data = {"mid":data}
self.data =data
def get_music_url(self):
print(self.data)
result = requests.post('http://www.douqq/qqmusic/qqapi.php',data=self.data).text
#数据“清洗”!!!这就涉及到我的知识盲区了呀。。。
result = json.loads(result)
result = result.replace('\/','/')
print(result)
pattern = re.compile('http://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]')
result = pattern.findall(result)
#从这里开始想下载啥自己挑哈result列表里面都是各种音质的文件
res =result[0]
req = requests.get(res)
filename=self.name+'.m4a'
with open(filename,'wb') as f:
f.write(req.content)
if __name__=='__main__':
music =Qqmusic()
name=input("请输入歌名:")
music.conect_url(name)
music.get_page_url()
music.get_music_url()
好吧,再絮叨几句,面向对象是真的香啊,代码的复用性,和可继承性是好的没话说。至于程序具体设计过程我就不细说了,如果有什么问题随时联系作者QQ:2126726874。
如果后面有空了给你们讲如何抽出下载页面其他格式的文件,比如说…mp3,.flac
版权声明:本文标题:QQ音乐本地下载(python爬虫) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1725891218h888219.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论