10、 在QQ音乐中爬取某首歌曲的歌词
- #10 在QQ音乐中爬取某首歌曲的歌词
- # 需求就是把关卡内的代码稍作修改,将周杰伦前五页歌曲的歌词都爬取下来,结果就是全部展示打印出来。
- # URL https://y.qq.com/portal/search.html#page=1&searchid=1&remoteplace=txt.yqq.top&t=song&w=%E5%91%A8%E6%9D%B0%E4%BC%A6
- import requests
- import html
- headers = {
- 'Accept': 'application/json, text/javascript, */*; q=0.01',
- 'Origin': 'https://y.qq.com',
- 'Referer': 'https://y.qq.com/n/yqq/song/0039MnYb0qxYhV.html',
- 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
- }
- for page in range(1,6):
- res = requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.song&searchid=67198573060150304&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p={}&n=2&w=%E5%91%A8%E6%9D%B0%E4%BC%A6&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq.json&needNewCode=0'.format(page),headers=headers)
- search_html = res.json()
- items = search_html['data']['song']['list']
- for item in items:
- item_id = item['id']
- item_name = item['name']
- item_res = requests.get('https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric_yqq.fcg?nobase64=1&musicid={}&-=jsonp1&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq.json&needNewCode=0'.format(item_id),headers=headers)
- item_html = item_res.json()
- print('------------------------------------{}--------------------------------------'.format(item_name))
- print(html.unescape(item_html['lyric']))
- '''
- 执行结果如下:(上面设置了每页显示两首歌,查看前五页,也就是十首歌)
- ------------------------------------晴天--------------------------------------
- [ti:晴天]
- [ar:周杰伦]
- [al:叶惠美]
- [by:]
- [offset:0]
- [00:00.00]晴天 - 周杰伦 (Jay Chou)
- ------------------------------------告白气球--------------------------------------
- [ti:告白气球]
- [ar:周杰伦]
- [al:周杰伦的床边故事]
- [by:]
- [offset:0]
- [00:00.00]告白气球 - 周杰伦 (Jay Chou)
- ------------------------------------稻香--------------------------------------
- [ti:稻香]
- [ar:周杰伦]
- [al:魔杰座]
- [by:]
- [offset:0]
- [00:00.00]稻香 - 周杰伦 (Jay Chou)
- ------------------------------------青花瓷--------------------------------------
- [ti:青花瓷]
- [ar:周杰伦]
- [al:我很忙]
- [by:]
- [offset:0]
- [00:00.00]青花瓷 - 周杰伦 (Jay Chou)
- ------------------------------------等你下课(with 杨瑞代)--------------------------------------
- [ti:等你下课(with 杨瑞代)]
- [ar:周杰伦]
- [al:]
- [by:]
- [offset:0]
- [00:01.74]等你下课(with 杨瑞代) - 周杰伦 (Jay Chou)
- ------------------------------------说好的幸福呢--------------------------------------
- [ti:说好的幸福呢]
- [ar:周杰伦]
- [al:闪亮2008 Hit Fm 年度百首单曲]
- [by:]
- [offset:0]
- [00:00.00]说好的幸福呢 - 周杰伦 (Jay Chou)
- ------------------------------------龙卷风--------------------------------------
- [ti:龙卷风]
- [ar:周杰伦]
- [al:Jay]
- [by:]
- [offset:0]
- [00:00.00]龙卷风 - 周杰伦 (Jay Chou)
- ------------------------------------算什么男人--------------------------------------
- [ti:算什么男人]
- [ar:1]
- [al:]
- [by:]
- [offset:0]
- [00:00.00]算什么男人 - 周杰伦 (Jay Chou)
- ------------------------------------七里香--------------------------------------
- [ti:七里香]
- [ar:周杰伦]
- [al:七里香]
- [by:]
- [offset:0]
- [00:00.00]七里香 - 周杰伦 (Jay Chou)
- ------------------------------------简单爱--------------------------------------
- [ti:简单爱]
- [ar:周杰伦]
- [al:范特西]
- [by:]
- [offset:0]
- [00:00.00]简单爱 - 周杰伦 (Jay Chou)
- '''
10、 在QQ音乐中爬取某首歌曲的歌词的更多相关文章
- 09、 在QQ音乐中查找七里香这首歌的精彩评论
找到七里香这首歌的精彩评论 URL https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg?g_tk=5381&l ...
- 另类爬虫:从PDF文件中爬取表格数据
简介 本文将展示一个稍微不一样点的爬虫. 以往我们的爬虫都是从网络上爬取数据,因为网页一般用HTML,CSS,JavaScript代码写成,因此,有大量成熟的技术来爬取网页中的各种数据.这次, ...
- 查询数据,从链接地址中爬取文章内容jsoup
查询数据,从链接地址中爬取文章内容 protected void doGet(HttpServletRequest request, HttpServletResponse response) thr ...
- Python实训day07pm【Selenium操作网页、爬取数据-下载歌曲】
练习1-爬取歌曲列表 任务:通过两个案例,练习使用Selenium操作网页.爬取数据.使用无头模式,爬取网易云的内容. ''' 任务:通过两个案例,练习使用Selenium操作网页.爬取数据. 使用无 ...
- Python爬取620首虾米歌曲,揭秘五月天为什么狂吸粉?!
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: CDA数据分析师 PS:如有需要Python学习资料的小伙伴可以加点 ...
- Python3实现QQ机器人自动爬取百度文库的搜索结果并发送给好友(主要是爬虫)
一.效果如下: 二.运行环境: win10系统:python3:PyCharm 三.QQ机器人用的是qqbot模块 用pip安装命令是: pip install qqbot (前提需要有request ...
- Android自定义View——QQ音乐中圆形旋转碟子
1.在onMeasure中测量整个View的宽和高后,设置宽高 2.获取我们res的图片资源后,在ondraw方法中进行绘制圆形图片 3.通过Handler发送Runnable在主线程中更新UI,达到 ...
- Python练习:爬虫练习,从一个提供免费代理的网站中爬取IP地址信息
西刺代理,http://www.xicidaili.com/,提供免费代理的IP,是爬虫程序的目标网站. 开始写程序 import urllib.requestimport re def open_u ...
- 慕课网python分布式爬虫打造搜索引擎视频中爬取伯乐网文章
代码:https://github.com/longbigbeard/scrapy_demo
随机推荐
- pycharm 2016.1.4 软件注册码生成
昨天电脑忽然坏了,没办法只能电脑重做系统,最让我头疼的是面对新电脑的软件安装和配置..... 由于之前电脑很久没有升级过ide,所以pycharm一直停留在2016.1.4的版本,当我打开pychar ...
- 【hjmmm网络流24题补全计划】
本文食用方式 按ABC--分层叙述思路 可以看完一步有思路后自行思考 飞行员配对问题 题目链接 这可能是24题里最水的一道吧... 很显然分成两个集合 左外籍飞行员 右皇家飞行员 跑二分图最大匹配 输 ...
- Android多种方法显示当前日期和时间
文章选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术.本文探讨Android显示当前日期和时间的方法. ...
- 【LOJ6036】编码(2-sat)
[LOJ6036]编码(2-sat) 题面 LOJ 题解 很显然的一个暴力: 枚举每个串中的?是什么,然后把和它有前缀关系的串全部给找出来,不合法的连边处理一下,那么直接跑\(2-sat\)就做完了. ...
- 【BZOJ2829】[SHOI2012]信用卡凸包(凸包)
[BZOJ2829][SHOI2012]信用卡凸包(凸包) 题面 BZOJ 洛谷 题解 既然圆角的半径都是一样的,而凸包的内角和恰好为\(360°\),所以只需要把圆角的圆心弄下来跑一个凸包,再额外加 ...
- AHOI中国象棋(dp)
大力dp题. 每行每列最多放两个,考虑用行作为dp阶段. dp[i][j][k]表示i行,有一个的有j列,有两个的有k列. 然后就是分类讨论. 一个都不放,放一个在0出,放一个在1出,放两个在0,放两 ...
- 2017蓝桥杯 省赛C题(承压计算)
X星球的高科技实验室中整齐地堆放着某批珍贵金属原料. 每块金属原料的外形.尺寸完全一致,但重量不同.金属材料被严格地堆放成金字塔形. 7 5 8 7 8 8 9 2 7 2 8 1 4 9 1 8 1 ...
- Vagrant 中配置局域网端口
1. 在自己的电脑中想使用Vagrant在局域网中安装centos,并将其ip释放到局域网中提供给自己的机器访问,这种操作需要在VagrantFile中加入如下配置 config.vm.network ...
- VSCode设置Tab键为4个空格
升级之后莫名蛋疼,Tab键变成了8个,每次缩进之后都要格式化一下,比较麻烦,所以来一篇设置: GIF演示整个过程 分步骤走: 设置一下 设置为4个空格 最后多一句嘴,Python3开始官方不建议使用制 ...
- 洛谷P1080 国王游戏
两个难点. 怎么想到的贪心? 首先确定算法: 显然不是数据结构题.转成图论也不太可能. 考虑DP:f[i][j]表示前i个人取j状态的最小最大值......2^1000,直接放弃. 因为出现了“最大值 ...