Python大作业——爬虫+可视化+数据分析+数据库(爬虫篇)(1)

接下来通过f12查看页面元素

在这里插入图片描述

我们会发现,查询到的每首歌曲的跳转信息都在一个类名为”tGequ“的a标签里

那么我们就可以使用findAll函数获得所有歌曲的a标签

def search(self, keyword):

self.play_index_now = -1 # 每次重新搜索都将当前播放序号设置为-1

urlbase = r’https://www.8lrc.com/search’ # 搜索的基础地址

params = {‘key’: keyword} # 封装搜索的参数

res_body = requests.get(urlbase, params) # 拼接url,发送请求

soup_body = BeautifulSoup(res_body.text, ‘html.parser’) # html解析获得响应文本

self.tags = soup_body.findAll(class_=‘tGequ’) # 得到查询结果

通过tag[‘href’]即可得到其中的href属性值

由于这是一个相对地址,只要在前面加上baseurl:https://www.8lrc.com即可得到对应歌曲的链接

获取歌曲音频资源及歌词

接着我们访问具体歌曲如https://www.8lrc.com/geci/1130167.htm,希望获得其歌曲的资源以及歌词

同样打开开发者工具,可以发现在第四个script标签中的setPlayer函数里有一个url地址,且其以.mp3为后缀,结合这是一个播放器,我们不难想到这就是歌曲的音频资源,而下面的显然就是我们所需要的歌曲的歌词

知道了这些以后,就可以开始爬虫获取了

首先我们通过soup_body.select("body script")[3].get_text()语句获得这个script标签的文本

通过观察,url地址都是以”url“:"为起始,以引号"作为结束,所以我们不难写出匹配url地址的正则表达式

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值