用Python爬虫的方式查看B站视频实时的观看人数

这段代码使用Selenium库打开Chrome浏览器,访问B站指定视频页面,获取视频标题,最大化窗口,并保存网页源码到html文件。之后,它会尝试获取并打印当前观看人数,每3秒刷新页面并更新观看人数,直到观看人数不为1。此外,还注释了获取cookie的代码段。
摘要由CSDN通过智能技术生成

练习

from selenium import webdriver
import time
from retrying import retry

# 计算机中chromedriver.exe的绝对位置
# "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
driver = webdriver.Chrome("C:\chromedriver.exe")
# 请求网站
driver.get("https://www.bilibili.com/video/BV13A411M73y?spm_id_from=333.851.b_7265636f6d6d656e64.4")
title = driver.find_element_by_xpath("//div/h1/span[@class='tit']").text
# 最大化窗口
driver.maximize_window()
# 获取当前访问的url
url = driver.current_url
print('现在的网址是:', url)
print("标题为:", title)
# 显示网页源码
html = driver.page_source
# 将源码保存以便观察
with open('html.html','w', encoding='utf-8') as f:
    f.write(html)
# 获取cookie
# cookie = driver.get_cookies()
# cookie = {i['name']:i['value'] for i in cookie}
# print('获取到的cookie:\n', cookie)
time.sleep(5)

@retry()
def get_number():
    numbers = driver.find_element_by_xpath('//div/span[@class="bilibili-player-video-info-people-number"]').text
    return  numbers

while True:
    # 用selenium自带的定位功能获取信息
    number = get_number()
    data = time.strftime("%Y-%m-%d %H:%M:%S")
    if number != "1":
        print("现在的时间是:{},当前的观看人数是:{}".format(data, number))
    driver.refresh()
    time.sleep(3)

 

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值