今天给各位分享爬虫网站源码分享h5的知识,其中也会对爬虫 网页进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
【一、项目目标】
通过Python爬取QQ音乐数据(一)我们实现了获取QQ音乐指定歌手单曲排行指定页数的歌曲的歌名、专辑名、播放链接。
此次我们在之前的基础上获取QQ音乐指定歌曲的歌词及前15个精彩评论。
【二、需要的库】
主要涉及的库有:requests、json、html
image
【三、项目实现】
1、以歌曲“泡沫”为例,查看该界面的XHR
image
2、通过对XHR的Size进行排序,逐个查看(参考英文含义),我们看到第一个红框内是歌曲评论,第二个框内是歌词!
image
image
3、分别查看这两条数据Headers里面Parms参数。
image
4、发现这几个参数可能会代表不同的歌曲,那到底是哪个呢,我们在代开另一首歌对比一下。
image
5、发现只有这个topid不同,其他都一样,这就代表topid代表不同歌曲的id,同理我们看一下歌词。
image
6、确定下来:musicid=topid=歌曲的id,接下来我们的任务是找到这个id。
7、返回以下界面,也就是我们上一个项目的主战场。
image
参考上一个项目,很容易找到“id”的值就是我们要寻找的id。
所以思路确定下来:先通过input()输入歌名生成url_1找到该歌曲的“id”参数,再生成url_2获取歌词和评论。
8、代码实现:获取歌曲id,如下所示:
importrequests,html,json\nurl_1=&39;\nheaders={\n&39;:&39;,\n39;请输入需要查询歌词的歌曲名称:&39;ct&39;24&39;qqmusic_ver&39;1298&39;new_json&39;1&39;remoteplace&39;txt.yqq.song&39;searchid&39;71600317520820180&39;t&39;0&39;aggr&39;1&39;cr&39;1&39;catZhida&39;1&39;lossless&39;0&39;flag_qc&39;0&39;p&39;1&39;n&39;10&39;w&39;g_tk&39;5381&39;loginUin&39;0&39;hostUin&39;0&39;format&39;json&39;inCharset&39;utf8&39;outCharset&39;utf-8&39;notice&39;0&39;platform&39;yqq.json&39;needNewCode&39;0&发起请求\njson_music=res_music.json()\nid=json_music[&39;][&39;][&39;][0][&39;]\nprint(id)\n
9、代码实现:获取歌词实现方法如下:
url_2=&39;\nheaders={\n&39;:&39;,\n39;nobase64&39;1&39;musicid&用上面获取到的id\n&39;:&39;,\n&39;:&39;,\n&39;:&39;,\n&39;:&39;,\n&39;:&39;,\n&39;:&39;,\n&39;:&39;,\n&39;:&39;,\n&39;:&39;,\n&39;:&39;,\n}\n\nres_music=requests.get(url_2,headers=headers,params=params)\n39;lyric&用了转义字符html.unescape方法\n39;歌词.txt&39;a&39;utf-8&存储到txt中\ninput(&39;)\n
10、代码实现:获取评论。
url_3=&39;\nheaders={\n&39;:&39;,\n//标记了请求从什么设备,什么浏览器上发出\n}\nparams={&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:id,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;,&39;:&39;}\nres_music=requests.get(url_3,headers=headers,params=params)\n//发起请求\njs=res_music.json()\ncomments=js[&39;][&39;]\nf2=open(i+&39;,&39;,encoding=&39;)//存储到txt中\nforiincomments:\ncomment=i[&39;]+&39;\nf2.writelines(comment)\n//print(comment)\nf2.close()\ninput(&39;)\n
11、封装函数
12、结果展示
image
image
image
【四、总结】
1、项目二比项目一稍复杂一点,多了一步获取歌曲id的步骤;
2、通过XHR爬取数据一般要使用json,格式为:
res=requests.get(url)\njson=res.json()\nlist=json[‘’][‘’]…\n
3、学习了转义字符html.unescape方法;
4、保存到txt还可以用withopen()as的方法;
5、Python爬取QQ音乐数据(第三弹)将为大家带来如何爬取更多评论,并生成词云图(wordcloud)。
6、需要本文源码的话,请在公众号后台回复“QQ音乐”四个字进行获取。
****看完本文有收获?请转发分享给更多的人****
想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/
爬虫网站源码分享h5的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于爬虫 网页、爬虫网站源码分享h5的信息别忘了在本站进行查找哦。