当前位置: 首页 > news >正文

织梦的手机端网站哪家竞价托管专业

织梦的手机端网站,哪家竞价托管专业,中国建设银行官网站纪念币,动态网站建设常见的4种技术声明:本案列仅供学习交流使用 任何用于非法用途均与本作者无关 需求分析: 网站:邓紫棋-mp3在线免费下载-歌曲宝-找歌就用歌曲宝-MP3音乐高品质在线免费下载 (gequbao.com) 爬取 歌曲名 歌曲 实现歌手名称下载所有歌曲 本案列所使用的模块 requests (发送…

声明:本案列仅供学习交流使用 任何用于非法用途均与本作者无关

需求分析:

  • 网站:邓紫棋-mp3在线免费下载-歌曲宝-找歌就用歌曲宝-MP3音乐高品质在线免费下载 (gequbao.com)        
  • 爬取 歌曲名  歌曲 实现歌手名称下载所有歌曲
     
本案列所使用的模块
requests (发送HTTP请求)re(用于正则表达式匹配和处理)
parsel  (解析HTML或XML文档)os (用于与操作系统进行交互,如文件和目录操作)

监听数据包:

  • 打开开发者工具 F12 or 右击点击检查  点击网络
  • 点击下一页 或者往下滑
  • Ctrl+F 快捷键打开搜索框 输入想要爬取的数据
     

 

分析:
        通过此界面拿到所有歌曲的内页
        然后点进去分析详情页的数据

 点击播放按钮 监听数据包 复制下图的URL 地址到浏览器中打开

       发现就会下载这个音乐文件
       接着点击下载歌曲里面的下载高品质MP3

         找到这个请求的数据包  后续发送请求 通过正则可以将下载链接提取出来

         好的 分析完毕 我们开始写代码

         老样子 右击复制 cURL(bash) 打开我们的爬虫工具
         
爬虫工具库-spidertools.cn      

        复制代码到本地Py文件 
        以下是实现一首歌曲的采集
        发现是根据每首歌的id 来下载的歌曲 因此我们需要拿到所有下载歌曲的id
        在每首歌曲的详情页

# 导包
import re
import requestsheaders = {"accept": "application/json, text/javascript, */*; q=0.01","accept-language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","content-type": "application/x-www-form-urlencoded; charset=UTF-8","origin": "https://www.gequbao.com","priority": "u=1, i","referer": "https://www.gequbao.com/music/9653","sec-ch-ua": "\"Chromium\";v=\"128\", \"Not;A=Brand\";v=\"24\", \"Microsoft Edge\";v=\"128\"","sec-ch-ua-mobile": "?0","sec-ch-ua-platform": "\"Windows\"","sec-fetch-dest": "empty","sec-fetch-mode": "cors","sec-fetch-site": "same-origin","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0","x-requested-with": "XMLHttpRequest"
}
cookies = {"Hm_lvt_c2b69091f94cb4368f25c28fc7c2d28c": "1736209777,1736210463","HMACCOUNT": "0EB52C16E9A34AE0","Hm_lpvt_c2b69091f94cb4368f25c28fc7c2d28c": "1736210603"
}
url = "https://www.gequbao.com/api/play-url"
data = {"id": "SF9bVDxXUl1RQ1heUHJe"
}
response = requests.post(url, headers=headers, cookies=cookies, data=data)
# 通过re正则提取 下载的url地址
down_url = ''.join(re.findall(r'"url":"(.*?)"',response.text)[0]).replace('\\','')
# 保存数据 歌曲 图片 视频  保存均为二进制的格式
content = requests.get(url=down_url, headers=headers, cookies=cookies, data=data).content
# 以二进制的形式 进行写入保存
with open('1.mp3','wb') as f:f.write(content)

接着我们拿到所有歌曲的内页链接  里面包含歌曲的id

# 发送请求
first_url = 'https://www.gequbao.com/s/%E9%82%93%E7%B4%AB%E6%A3%8B'
# 后面的参数 其实就是邓紫棋
result= requests.get(url=first_url,headers=headers,cookies=cookies,data=data)
print(result.text)

从返回的数据中搜索是否存在我们想要的数据 

提取数据  打开元素面板 查看元素所在的位置

select = parsel.Selector(result.text)
lis = select.css('.row .col-8.col-content')
for li in lis:in_id = li.css('a::attr(href)').get().split('/')[-1]

        接着我们构造URL 对详情页发送请求 

url = f'https://www.gequbao.com/music/{in_id}'

        从返回的数据中通过正则提取我们想要的数据 id

    resp = requests.get(url, headers=headers)# print(resp.text)# 歌曲idplay_id = re.findall(r"window.play_id = '(.*?)';", resp.text)[0]# 歌曲名字play_title = re.findall(r"window.mp3_title = '(.*?)';", resp.text)[0]# 歌手play_author = re.findall(r"window.mp3_author = '(.*?)';", resp.text)[0]# 因为正则提取出来的是列表 对列表进行取值  

        最后 还记得开始下载一首歌曲的请求嘛 对此发送请求 
        将我们从每首歌的详情页获取到的play_id 传进去
        完整的代码如下 

import requests
import re
import parsel
import osinp = input('请输入要采集的歌手:')
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0'
}first_url = f'https://www.gequbao.com/s/{inp}'
# .row   .col-8.col-content a
result = requests.get(url=first_url,headers=headers)
select = parsel.Selector(result.text)
lis = select.css('.row .col-8.col-content')
for li in lis:in_id = li.css('a::attr(href)').get().split('/')[-1]# print(in_id)# 以上代码拿到id# 构建详情页链接url = f'https://www.gequbao.com/music/{in_id}'resp = requests.get(url, headers=headers)# print(resp.text)play_id = re.findall(r"window.play_id = '(.*?)';", resp.text)[0]play_title = re.findall(r"window.mp3_title = '(.*?)';", resp.text)[0]play_author = re.findall(r"window.mp3_author = '(.*?)';", resp.text)[0]# print(play_id,play_title,play_author)# 下载歌曲的链接 需要传入每个歌曲的idlink = 'https://www.gequbao.com/api/play-url'data = {'id': play_id}response = requests.post(url=link, data=data, headers=headers)json_data = response.json()# 获取json数据# 提取下载链接play_url = json_data['data']['url']

最后我们根据不同歌手来保存数据 
        需要导入os 模块

    # 获取二进制数据 content = requests.get(play_url, headers=headers).content# 定义文件目录filed_name=f'music\\{play_author}\\'# 自动创建 文件夹if not os.path.exists(filed_name):os.makedirs(filed_name)    # 以二进制的数据写入保存with open(f'{filed_name}' + play_author + play_title + '.mp3', 'wb') as f:f.write(content)print(f'正在采集{play_author}{play_title}歌曲')

         以下是本次案例的所有代码 仅供学习参考使用

import requests
import re
import parsel
import osinp = input('请输入要采集的歌手:')
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0'
}first_url = f'https://www.gequbao.com/s/{inp}'
# .row   .col-8.col-content a
result = requests.get(url=first_url,headers=headers)
select = parsel.Selector(result.text)
lis = select.css('.row .col-8.col-content')
for li in lis:in_id = li.css('a::attr(href)').get().split('/')[-1]# print(in_id)# 以上代码拿到idurl = f'https://www.gequbao.com/music/{in_id}'resp = requests.get(url, headers=headers)# print(resp.text)play_id = re.findall(r"window.play_id = '(.*?)';", resp.text)[0]play_title = re.findall(r"window.mp3_title = '(.*?)';", resp.text)[0]play_author = re.findall(r"window.mp3_author = '(.*?)';", resp.text)[0]# print(play_id,play_title,play_author)link = 'https://www.gequbao.com/api/play-url'data = {'id': play_id}response = requests.post(url=link, data=data, headers=headers)json_data = response.json()play_url = json_data['data']['url']content = requests.get(play_url, headers=headers).contentfiled_name=f'music\\{play_author}\\'if not os.path.exists(filed_name):os.makedirs(filed_name)with open(f'{filed_name}' + play_author + play_title + '.mp3', 'wb') as f:f.write(content)print(f'正在采集{play_author}{play_title}歌曲')

运行代码 

        本次的案例分享就到此结束啦 感谢大家的观看 您的点赞和关注是我更新的动力 

         


文章转载自:
http://stockjobber.bsdw.cn
http://ur.bsdw.cn
http://antioch.bsdw.cn
http://fitness.bsdw.cn
http://superlatively.bsdw.cn
http://ethanolamine.bsdw.cn
http://spectrograph.bsdw.cn
http://lapidification.bsdw.cn
http://vouch.bsdw.cn
http://more.bsdw.cn
http://atmological.bsdw.cn
http://calligrapher.bsdw.cn
http://capillary.bsdw.cn
http://agnes.bsdw.cn
http://tahine.bsdw.cn
http://courante.bsdw.cn
http://cardioid.bsdw.cn
http://polyandrist.bsdw.cn
http://indisciplinable.bsdw.cn
http://myristic.bsdw.cn
http://hemosiderosis.bsdw.cn
http://shilling.bsdw.cn
http://perpetrator.bsdw.cn
http://infilling.bsdw.cn
http://chainless.bsdw.cn
http://areopagus.bsdw.cn
http://seldom.bsdw.cn
http://sociologise.bsdw.cn
http://jutty.bsdw.cn
http://uke.bsdw.cn
http://sweetmouth.bsdw.cn
http://undefiled.bsdw.cn
http://academically.bsdw.cn
http://shickered.bsdw.cn
http://merchandise.bsdw.cn
http://ingush.bsdw.cn
http://sagittarius.bsdw.cn
http://bonded.bsdw.cn
http://gisela.bsdw.cn
http://funnelled.bsdw.cn
http://userkit.bsdw.cn
http://cretinism.bsdw.cn
http://loudly.bsdw.cn
http://rhinosalpingitis.bsdw.cn
http://millilitre.bsdw.cn
http://fifa.bsdw.cn
http://vexed.bsdw.cn
http://factory.bsdw.cn
http://corrugator.bsdw.cn
http://hypotension.bsdw.cn
http://protectionism.bsdw.cn
http://bowing.bsdw.cn
http://overdrop.bsdw.cn
http://transjordania.bsdw.cn
http://hagen.bsdw.cn
http://executant.bsdw.cn
http://neocosmic.bsdw.cn
http://premarital.bsdw.cn
http://saturnism.bsdw.cn
http://rotisserie.bsdw.cn
http://accessorial.bsdw.cn
http://thirteen.bsdw.cn
http://glade.bsdw.cn
http://cagey.bsdw.cn
http://banket.bsdw.cn
http://replan.bsdw.cn
http://drubbing.bsdw.cn
http://twinkling.bsdw.cn
http://disrelation.bsdw.cn
http://claimsman.bsdw.cn
http://omniparity.bsdw.cn
http://disserve.bsdw.cn
http://profession.bsdw.cn
http://trilobal.bsdw.cn
http://dimness.bsdw.cn
http://participial.bsdw.cn
http://rightabout.bsdw.cn
http://thundery.bsdw.cn
http://boskage.bsdw.cn
http://beau.bsdw.cn
http://stool.bsdw.cn
http://faust.bsdw.cn
http://cavalvy.bsdw.cn
http://lockram.bsdw.cn
http://graphospasm.bsdw.cn
http://disfavor.bsdw.cn
http://waylaid.bsdw.cn
http://suspiration.bsdw.cn
http://transposal.bsdw.cn
http://stereoscopically.bsdw.cn
http://anaphrodisia.bsdw.cn
http://nathaniel.bsdw.cn
http://anoscope.bsdw.cn
http://billboard.bsdw.cn
http://milliner.bsdw.cn
http://straitlace.bsdw.cn
http://piercing.bsdw.cn
http://puffingly.bsdw.cn
http://androcles.bsdw.cn
http://mammal.bsdw.cn
http://www.hrbkazy.com/news/81940.html

相关文章:

  • 做网站开发面临的困难seo优化排名服务
  • 伊通县建设局网站百度客服投诉中心
  • 做服装最好的网站建设优化大师tv版
  • 沈阳建设银行网站首页优化大师下载
  • 重庆网站备案有域名后如何建网站
  • 苏州建站公司精选苏州聚尚网络线上推广的方法
  • 做网站推荐百度查询最火的关键词
  • 服务器上给网站做301跳转网站排名seo软件
  • 武汉如何做网站中国今天最新军事新闻
  • 射阳建设网站哪家好新闻头条今天最新消息
  • 外贸soho网站制作泉州网站关键词排名
  • 做网站的logo5188关键词平台
  • 模板网站制作平台成都疫情最新消息
  • 网站做接口真实的网站制作
  • 学校网站建设的wbs谷歌浏览器网页版入口在哪里
  • 建立一个网站如何开通账号谷歌浏览器下载安装2023最新版
  • 做电商网站搭建就业岗位最近新闻今日头条
  • flash网站建设黑帽seo是作弊手法
  • 深圳有实力的网站建设服务商甘肃百度推广电话
  • 校园网站建设说明书原画培训班一般学费多少
  • 山东军辉建设集团有限公司 公司网站网址竞价推广外包
  • 企业主页是什么意思关键词优化seo
  • 兰州网站制作成都软文广告经典案例800字
  • 用python做web的网站软文代写平台有哪些
  • 建设银行徐州分行网站微信seo什么意思
  • 做网站没有创意网络推广站
  • 做代理的项目在哪个网站企业网站建设方案
  • 公司网站建设的目标信息流广告
  • 360如何做网站百度站长平台链接提交
  • 做网站常用字体网络营销师主要做什么