爬虫第5课-从QQ音乐上爬取周杰伦前5页歌词
第一步:分析问题,明确目标
需求就是把关卡内的代码稍作修改,将周杰伦前五页歌曲的歌词都爬取下来,结果就是全部展示打印出来。
第二步:写代码
Network - XHR-client_search - Headers - Query String Parameters , 观察里面参数的变化
怕你没记住,可以再又偷偷看一下哦,关卡内需要修改的代码:
import requests
url = 'https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg'
# 这是请求歌曲评论的url
headers = {'origin':'https://y.qq.com',# 请求来源,本案例中其实是不需要加这个参数的,只是为了演示'referer':'https://y.qq.com/n/yqq/song/004Z8Ihr0JIu5s.html',# 请求来源,携带的信息比“origin”更丰富,本案例中其实是不需要加这个参数的,只是为了演示'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',# 标记了请求从什么设备,什么浏览器上发出}
params = {'g_tk':'5381',
'loginUin':'0',
'hostUin':'0',
'format':'json',
'inCharset':'utf8',
'outCharset':'GB2312',
'notice':'0',
'platform':'yqq.json',
'needNewCode':'0',
'cid':'205360772',
'reqtype':'2',
'biztype':'1',
'topid':'102065756',
'cmd':'8',
'needcommentcrit':'0',
'pagenum':0,
'pagesize':'25',
'lasthotcommentid':'',
'domain':'qq.com',
如果没有思路,可以偷偷看下提示哦~
参考代码
import requests
import json
# 引用requests,json模块url = 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp'headers = {'origin':'https://y.qq.com',# 请求来源,本案例中其实是不需要加这个参数的,只是为了演示'referer':'https://y.qq.com/n/yqq/song/004Z8Ihr0JIu5s.html',# 请求来源,携带的信息比“origin”更丰富,本案例中其实是不需要加这个参数的,只是为了演示'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',# 标记了请求从什么设备,什么浏览器上发出}for x in range(20):
# 伪装请求头params = {'ct':'24','qqmusic_ver': '1298','new_json':'1','remoteplace':'sizer.yqq.lyric_next','searchid':'48335540534966617','aggr':'1','cr':'1','catZhida':'1','lossless':'0','sem':'1','t':'7','p':str(x+1),'n':'10','w':'周杰伦','g_tk':'1714057807','loginUin':'0','hostUin':'0','format':'json','inCharset':'utf8','outCharset':'utf-8','notice':'0','platform':'yqq.json','needNewCode':'0'}res = requests.get(url, params = params,headers=headers)#下载该网页,赋值给resjson_music=res.json()# 使用json来解析res.textlist_music=json_music['data']['lyric']['list']# 一层一层地取字典,获取歌词的列表for music in list_music:#list_music是一个列表,music是它里面的元素print(music['content'].replace('\\n', ' '))#以content为键,查找歌词print("-----------------------------------------------------------------------------------------------------")
代码效果:
注意:
1.music[‘content’]里面提取出来的歌词是带有“\n”的,所以需要通过replace()函数将其清除掉,.replace("\n",’ ')
2.关于字符串去除符号的更多内容,可以参考下这篇文章Python中字符串String去除出换行符(\n,\r)和空格的问题
爬虫第5课-从QQ音乐上爬取周杰伦前5页歌词相关推荐
- python爬取网易云音乐_Python 从零开始爬虫(七)——实战:网易云音乐评论爬取(附加密算法)...
前言 某宝评论区已经成功爬取了,jd的也是差不多的方法,说实话也没什么好玩的,我是看上它们分析简单,又没加密才拿来试手的.如果真的要看些有趣的评论的话,我会选择网易云音乐,里面汇聚了哲学家,小说家,s ...
- Python对QQ音乐进行爬取并进行数据分析
三方包引入 使用到了以下包: 爬虫 scrapy 网络测试 requests 数据分析 numpy和pandas 绘图 matplotlib和wordcloud pip install scrapyp ...
- 基于python的音乐数据分析_Python对QQ音乐进行爬取并进行数据分析
三方包引入 使用到了以下包: 爬虫 scrapy 网络测试 requests 数据分析 numpy和pandas 绘图 matplotlib和wordcloud pip install scrapy ...
- python爬取音乐_利用Python对网易云音乐进行爬取!无所不爬的爬虫啊!
今天,我们利用Python 中的selenium爬取网易云音乐中林俊杰<将故事写成我们>的评论,具体界面如下: 私信小编01 获取数十套PDF!爬虫 web都有的呢! 具体代码如下: #此 ...
- Python爬虫: 单网页 所有静态网页 动态网页爬取
Python爬虫: 单网页 所有静态网页 动态网页爬取 前言:所有页代码主干均来自网上!!!感谢大佬们. 其实我对爬虫还挺感兴趣的,因为我玩instagram(需要科学上网),上过IG的人都知道IG虽 ...
- 如何快速爬取QQ音乐上的歌手曲目排名并做成Excel表格形式
标题 标题:如何快速爬取QQ音乐上的歌手曲目排名并做成Excel表格形式 大家好,这是我的第一个发表的博客(__) 嘻嘻-- 希望大家可以喜欢! 进入主题: 这件事情我打算分为三步进行分析: 1:如何 ...
- 利用python编写爬虫程序,从招聘网站上爬取数据,将数据存入到MongoDB数据库中,将存入的数据作一定的数据清洗后做数据分析,最后将分析的结果做数据可视化
教程演示 创建爬虫项目 编写需要爬取的字段(items.py) 编写spider文件(wuyou.py) 编写数据库连接(pipelines.py) 编写反爬措施(settings.py) Mongo ...
- 酷狗音乐的爬取,基于python,从无到有完整教程-上:搭建环境及爬取原理讲解
酷狗音乐的爬取,基于python,从无到有完整教程,使用微软新edge作为虚拟浏览器 搭建环境及爬取原理讲解 ⬇⬇⬇ 编码环境及工具准备: 编码工具:PyCharm 所需的库: import requ ...
- python3爬虫进阶之自动登录网易云音乐并爬取指定歌曲评论
** python3爬虫进阶之自动登录网易云音乐并爬取指定歌曲评论 ** 一.访问网易云首页,找到所需元素的位置 用浏览器打开网易云首页https://music.163.com/之后,发现我们要找的 ...
最新文章
- Fibonacci数列Linux程序,Linux shell实现斐波那契数列编程
- set,env,和export的区别
- 如何备考上海市高等学校计算机一级,如何备考全国计算机一级等级考试
- Java黑皮书课后题第10章:*10.19(Mersenne素数)
- 用 vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)
- OllyDbg笔记-寄存器以及各种关键指令解析(含简单程序破解)
- 【Vegas原创】重建Exchange 2007 OWA的虚拟目录
- 【Kafka】Kafka 实现 Exactly-once (ack机制、高水位)
- linux eclipse 权限不够,linux下启动eclipse 权限不够 错误解决办法
- MySQL Semisync
- AtCoder Grand Contest 019
- AngularJs学习的前景及优势
- Extract Any Audio Pro for Mac - mp3格式转换器
- Spring AOP/DI/IOC 简述及使用
- habernet备份mysql_harbor 安装
- android 项目交接文档,Android实用开发规范
- 在Azure的云服务器上搭建个人网站
- Android Study之跳转自启动管理页
- dmd oracle,【智能科技学院】TF-SWUFE Oracle Club DMD方向召开第五周核心成员分享会...
- HTML网页设计基础期末作业——绿色化妆品网页(HTML+CSS)
热门文章
- Python3 爬虫 - 爬取 bing 高清桌面大图
- vue 获取系统时间
- PAT 一章 字符串 11-15 自用
- 安卓-Viewpage详解(1)——广告条
- 2021高考甘肃师大附中成绩查询,2019丨西北师大附中高考喜报
- <机器学习><详解>Ensemble 集成学习算法
- 微信小程序WIFI部分全部API测试以及踩的坑
- java 可迭代对象,什么是可迭代对象(Iterable objects)?
- 第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的步骤方法)
- 应用宝苹果版_点赞应用ios版下载-点赞应用苹果版下载v1.1