Python爬虫 | 获取B站在线列表视频信息并发送到邮箱

本文介绍了如何使用Python编写爬虫,从B站获取在线视频列表,并将信息保存到txt文件,然后通过邮件发送到个人邮箱。主要步骤包括解析网页源码,提取视频名称和up主昵称,存储信息到txt文件,以及利用Python发送邮件。
摘要由CSDN通过智能技术生成

本文介绍了一个较为简单的Python爬虫,可以获取网页上的特定信息并保存在文件中。
本文同步发表于个人博客–弋江畔

写在前面

B站主页右侧有一在线列表链接,可查看网站当前在线观看人数前20的视频,但其手机app并无此功能,故写此爬虫来获取并发送在线列表里有哪些视频到个人邮箱。

思路分析

  1. 获取视频信息
  2. 将信息保存到txt文件中
  3. 发送文件到邮箱中

代码部分

  1. 观察网页

在网页右键点击检查,可观察到视频信息都放在一个div标签内,含有视频名称,up昵称,播放量等等等等。
在这里插入图片描述
2. 获取信息

请求页面,获取页面信息。

url = 'https://www.bilibili.com/video/online.html?spm_id_from=333.851.b_7265706f7274466972737432.13'

header = {
   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                      'AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/80.0.3987.106 Safari/537.36'}

response = requests.get(url=url, headers=header)
response.encoding = 'utf-8'
print(response.text)

观察到返回的是网页源码,用lxml进行解析。

soup = BeautifulSoup(response.text,"lxml")

我们需要的是视频的名称和up主昵称,再次观察网页元素,发现这两个信息都存放在a标签中。
在这里插入图片描述
这样我们直接获取返回数据中的a标签内容。

titles = soup.find_all("a")

打印测试后我们发现返回的列表中偶数位对应着视频名称,奇数位对应着up主昵称

print(titles[0].text)
#【 钉 钉 本 钉 ,在 线 求 饶 】
print(titles[1].text)
#钉钉DingTalk

遍历整个列表,获取 视频名称--------up主昵称 形式的列表。

while i <= 39:#名称和昵称加起来一共有40个
	name = titles[i].text
	up = titles[i+1].text
	nameup.append(name+"--------"+up)
	i 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值