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
随机推荐
- requirements文件
将一个环境中安装的所有的包在另一个环境中安装 1.生成文件列表 pip freeze > requirements.txt 2.将该文件放入到新环境中,安装 pip install -r req ...
- HAOI(十二省联考)2019 qwq记
\(\large{Day\ -1}:\) 放假了,白天大概是抱着最后一次在机房的心态复习着板子过去的.看着机房里的各位神仙丝毫不慌的颓倒是有点慌了,敲了一下多项式的板子感觉写的相当自闭,感觉AFO应该 ...
- iptables(4)规则编写
/etc/sysconfig/iptables # Generated by iptables-save v1.4.7 on Tue Mar 20 15:05:33 2018*filter:INPUT ...
- luogu3242 接水果 (整体二分+树状数组)
考虑整体二分,问题就变成了每个(水果)路径有多少个满足条件(权值)的(盘子)子路径 考虑一个盘子(a,b)表示两端点(不妨设dfn[a]<dfn[b]),那么他能接到的水果(u,v)一定满足(不 ...
- BZOJ3566: [SHOI2014]概率充电器 树形+概率dp
3566: [SHOI2014]概率充电器 Time Limit: 40 Sec Memory Limit: 256 MBSubmit: 1888 Solved: 857[Submit][Stat ...
- Libre OJ 144、145 (DFS序)
部分参考自博客:https://blog.csdn.net/hpu2022/article/details/81910490 在许多问题中,由于树结构复杂通常会导致问题很棘手,因为其实非线性结构,操作 ...
- Windows系统服务管理
1.用SC命令管理: 启动redis服务: C:\Users\Administrator>sc start redis 停止redis服务: C:\Users\Administrator> ...
- terminate called without an active exception异常
在gcc4.4下,采用回调机制写了一个类似std::thread的线程类. 但是使用时却发生了核心已转移的错误. main函数调用的代码大致是 int main(int argc, char *arg ...
- 马士兵2string buffuer
string不可变的字符序列 s1=s1+s2
- c#中序列化和反序列化的理解
using System.IO;using System.Runtime.Serialization.Formatters.Binary; 序列化:对象转化为文件的过程(字节流) 反序列化:文件(字节 ...