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
随机推荐
- 【Loj117】有源汇上下界最小流(网络流)
[Loj117]有源汇上下界最小流(网络流) 题面 Loj 题解 还是模板题. #include<iostream> #include<cstdio> #include< ...
- 如何搭建高可用redis架构?
如何搭建高可用redis架构? 温国兵 架构师小秘圈 昨天 作者:温国兵,曾任职于酷狗音乐,现为三七互娱 DBA.目前主要关注领域:数据库自动化运维.高可用架构设计.数据库安全.海量数据解决方案.以及 ...
- spring boot集成ehcache 2.x 用于hibernate二级缓存
https://www.jianshu.com/p/87b2c309b776 本文将介绍如何在spring boot中集成ehcache作为hibernate的二级缓存.各个框架版本如下 spring ...
- QTREE5 - Query on a tree V——LCT
QTREE5 - Query on a tree V 动态点分治和动态边分治用Qtree4的做法即可. LCT: 换根后,求子树最浅的白点深度. 但是也可以不换根.类似平常换根的往上g,往下f的拼凑 ...
- Eclipse 在线安装properties编辑插件
在eclipse中,如果在properties文件中写中文,会被自动保存成unicode编码,如lab.submitbutton=\u63d0\u4ea4. 这在查看properties文件时 ...
- 最短路 次短路 k短路(k很小)
最短路 luogu 3371 https://www.luogu.org/problemnew/show/P3371 #include <cstdio> #include <cstd ...
- POJ 2774 Long Long Message (Hash + 二分)
Long Long Message Time Limit: 4000MS Memory Limit: 131072K Total Submissions: 34473 Accepted: 13 ...
- javascript(基础)_对数组的遍历方法总结(find, findIndex, forEach,)
一.前言 ...
- 用Jdbc连接数据库后实现增删改查功能
增删改用的都是executeUpdate()方法: 查用的是executeQuery()方法 package cn.lideng.dbc; import java.lang.management.Ma ...
- spring boot 返回json字符串 null值转空字符串
@Configuration public class JacksonConfig { @Bean @Primary @ConditionalOnMissingBean(ObjectMapper.cl ...