请教:关于爬取歌词的一点疑惑

大家好!我是对python有些兴趣、正在上课学习的小白。
我在学习爬取歌词的环节有些地方想不通:爬取QQ音乐网站上周杰伦前5页的歌的歌词。

假如是从网站首页(https://y.qq.com/)的搜索框输入“周杰伦”,出现的网址是: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

在这里插入图片描述
试着从上面的歌曲列表上点了“晴天”进去看看,网址变成了:
https://y.qq.com/n/yqq/song/0039MnYb0qxYhV.html
在这里插入图片描述
这个网址似乎无法和前面的page对应起来,要说的话,里面确实有一个mid列表可以通过拼凑得出上面的网址。
因此我想的是:从上面的网址通过改变page的赋值循环获取1-5页的歌名及对应的链接,再从后者进入,从XHL等找到储存歌词的位置并打印,但找不到。

后面我看到参考答案提供的网址是:
https://y.qq.com/portal/search.html#page=1&searchid=1&remoteplace=txt.yqq.top&t=lyric&w=%E5%91%A8%E6%9D%B0%E4%BC%A6
打开后,页面是这样的:
在这里插入图片描述对比两个网址:
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
https://y.qq.com/portal/search.html#page=1&searchid=1&remoteplace=txt.yqq.top&t=lyric&w=%E5%91%A8%E6%9D%B0%E4%BC%A6
似乎只有t的赋值不同。
请问这是怎么做到的呢?
还有一个问题:假如在同一个网站给出的歌手栏目下找到“周杰伦”,网址会变成:
https://y.qq.com/n/yqq/singer/0025NhlN2yWrP4.html#stat=y_new.singerlist.singerpic
这种情况下网址已经和页码好像没有明显联系了(没有page=xxx),如果任务还是查找前5页的歌的歌词,还能找到吗?
谢谢!

发布了6 篇原创文章 · 获赞 0 · 访问量 59

猜你喜欢

转载自blog.csdn.net/hehe20190825/article/details/104647332