20行python代码!把b站直播间的小姐姐占为己有(代码片段)

呆呆敲代码的阿狸 呆呆敲代码的阿狸     2022-11-07     429

关键词:

深夜,当我一个人拿着电脑打开小姐姐的直播间准备观赏的时候

突然直播的界面中传来各种各样的广告推荐和弹幕信息

遮挡住了小姐姐的脸庞,还关不掉?

这是脑子里就有了一个想法,何不爬取小姐姐直播间的信息源,然后通过本地的视频流播放器来收看小姐姐的直播呢?

于是就马上实行了这个计划,毕竟在不做就要天亮了

第一步:

首先,通过对于B站直播网页的分析,来获取小姐姐直播间的直播信号源。

打开我最爱的这位,如下图所示:

打开“开发者模式”,找到Network选项,点击XHR组件,找到live开头的标签内容,双击之后,就可以得到请求的信息。

可以看到,这个Request URL就是直播的信号源。

复制这个信号源地址,然后就可以通过本地的视频流播放器进行直播播放。

其实不用代码也可以

还有一种方式就是抓取直播信号源

直接上代码:

import requests,bs4,re,time
import xlwings as xw
from selenium import webdriver
from bs4 import BeautifulSoup

roomlist = []


# 获取bilibili动态页面
def gethtml(url):

    #n = 0

    try:

        driver = webdriver.Chrome()

        driver.get(url)

        button_view = driver.find_element_by_xpath('//*[@id="room-list-section"]/div[1]/div/div[1]/div[2]')

        button_view.click()

        
        
        while True:

            try:

                button = driver.find_element_by_xpath('//*[@id="room-list-section"]/div[2]/div[1]/span[1]')

                time.sleep(1)

                #n += 1
                
                button.click()

            except:

                break
        

        html = driver.page_source

        file_html = open(r'f:\\workspace\\example\\livehtml.txt','w+',encoding='utf-8')

        file_html.write(html)

        file_html.close()

        driver.quit()

        return html

    except:

        print('执行异常')

# 获取room详情并储存在一个2维列表里

def getroomlist(html):

    soup = BeautifulSoup(html,"html.parser")

    for li in soup.find('section',id = 'room-list-section').ul:

    # 获取房间的主播名和房间名

        pre_rt = r'title=".*"'
        pattern1 =re.compile(pre_rt)
        rt_match =re.findall(pattern1,str(li))

        try:

            if len(rt_match) == 0:
                continue
            else:
                room_title = rt_match[0].split('"')[1]
                anchor_name = rt_match[1].split('"')[1]
        


    # 获取房间的人气值

            pre_view = r'>\\d+<'
            pattern2 = re.compile(pre_view)
            vc_match = pattern2.search(str(li))
            if vc_match == None:
                continue
            else:
                pre_vc_value = vc_match.group(0)
                vc_value = re.sub(r'>|<','',pre_vc_value)
                roomlist.append([anchor_name,room_title,vc_value])
        except:
            print(anchor_name)
            break
  

    return roomlist

    
# 将房间信息保存在xlsx文件里方便后期处理和存储
def savelivelist(livelist):

    app = xw.App(visible=True,add_book=False)

    app.display_alerts = False

    app.screen_updating = False

    wb = app.books.open(r'f:\\workspace\\example\\live.xlsx')

    sheet1 = wb.sheets['sheet1']

    sheet1.range('A1').value = ['主播名','房间名','人气值']

    sheet1.range('A2').value = livelist

    wb.save()

    wb.close()

    app.quit()

    print ('完成存储')

# 主函数
def main():
    url = 'http://live.bilibili.com/all'

    html = gethtml(url)

    livelist = getroomlist(html)

    #print(len(livelist))

    savelivelist(livelist)

main()

python:20行代码爬取高质量帅哥美女视频,让你一次看个够(代码片段)

...然你学会了去爬啥那就都随便了~环境模块用到的环境是Python3.6和pycharm需要安装两个模块,requests和re模块,还会用到一个pprint模块,这个是内置的,不用安装,咱 查看详情

安卓手机在b站怎么直播

参考技术A手机在B站直播的步骤:1、打开B站,找到网站的右上角“直播”那一栏,点开它;2、然后把网页拉到最下面,在直播那一栏找到“直播帮助中心”并打开;3、打开后,找到左边的“工具教程”并打开;4、然后就会看... 查看详情

python爬虫应用实战-如何爬取好看的小姐姐照片?(代码片段)

线程锁Threading模块为我们提供了一个类,Threading.Lock锁。我们创建该类的对象,在线程函数执行之前,“抢占”该锁,执行完成之后,“释放”该锁,则我们确保了每次只有一个线程占有该锁。这时对一个公共对象进行操作,则... 查看详情

python爬虫应用实战-如何爬取好看的小姐姐照片?(代码片段)

...始锁是一个在锁定时不属于特定线程的同步基元组件。在python中,它是能用最低级的同步基元组件,由_thread拓展模块直接实现。acquire(blocking=True,timeout=-1)可以阻塞或者非阻塞的获得锁。当调用参数blocking设置为True,阻塞直到锁... 查看详情

7行代码搞崩溃b站,原因令人唏嘘!

△点击上方“Python猫”关注,回复“1”领取电子书作者:豌豆花下猫来源:Python猫前不久,哔哩哔哩(一般常称为B站)发布了一篇文章《2021.07.13我们是这样崩的》,详细回顾了他们在2021.07.13晚上全站... 查看详情

7行代码搞崩溃b站,原因令人唏嘘!

△点击上方“Python猫”关注,回复“1”领取电子书作者:豌豆花下猫来源:Python猫前不久,哔哩哔哩(一般常称为B站)发布了一篇文章《2021.07.13我们是这样崩的》,详细回顾了他们在2021.07.13晚上全站... 查看详情

python用20行代码实现完整邮件功能[完整代码+建议收藏]

大家好,我是Lex喜欢欺负超人那个Lex擅长领域:python开发、网络安全渗透、Windows域控Exchange架构今日重点:python脚本实现发送邮件,邮件添加附件,读取接收邮件等功能。包含完整脚本哦,【建议收藏】 今天带大家实现一下... 查看详情

社区说|wechaty:6行代码构建基于个人微信和whatsapp的对话式人机交互界面应用...

...(本周四)20:00pm-21:00pm活动日程20:00-20:45Wechaty:6行代码构建基于个人微信和Whatsapp的对话式人机交互界面应用 对话式人机交互界面趋势人工智能前沿发展ConversationAI场景Wechaty介绍LiveDemoChatbot行业前景20:45-21:00QA举办社区GDG... 查看详情

基于cordova的b站用户直播闹钟app(安卓版)(代码片段)

前言本项目基于Cordova开发,打包的apk支持Android9+,主要功能为监听b站用户直播情况,开播进行闹钟提示ps:目前版本还是有蛮多问题的,如有遇到可以及时反馈,我会想办法进行修复。源码下载码云GitH... 查看详情

基于cordova的b站用户直播闹钟app(安卓版)(代码片段)

前言本项目基于Cordova开发,打包的apk支持Android9+,主要功能为监听b站用户直播情况,开播进行闹钟提示ps:目前版本还是有蛮多问题的,如有遇到可以及时反馈,我会想办法进行修复。源码下载码云GitH... 查看详情

python爬虫应用实战-爬取网站漂亮小姐姐,可爱的小姐姐谁不爱呢?

前言有时候我们会用requests抓取页面的时候,得到的结果可能和浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,但是使用requests得到的结果并没有。这是因为requests获取的是原始的HTML文档,而浏览器中的页面... 查看详情

js实现b站直播弹幕自动补中括号一键常用语脚本(代码片段)

....2控制台版本-v1.1游猴脚本-v1.1前言开发目的:方便b站直播间同传,提高效率程序试用于大部分新版的PC浏览器(ps:如果没有生效请刷新页面重试,如果不兼容请更换浏览器)使用说明:打开直播页面&#... 查看详情

js实现b站直播弹幕自动补中括号一键常用语脚本(代码片段)

....2控制台版本-v1.1游猴脚本-v1.1前言开发目的:方便b站直播间同传,提高效率程序试用于大部分新版的PC浏览器(ps:如果没有生效请刷新页面重试,如果不兼容请更换浏览器)使用说明:打开直播页面&#... 查看详情

js实现b站直播弹幕自动补中括号一键常用语脚本(代码片段)

...控制台版本-v2.1游猴脚本-v2.1前言开发目的:方便b站直播间同传,提高效率程序试用于大部分新版的PC浏览器(ps:如果没有生效请刷新页面重试,如果不兼容请更换浏览器)使用说明:打开直播页面... 查看详情

b站直播姬怎么用

...式中选择“麦克风”,之后点击确定即可,用户就可以在直播间开始唱歌啦。b站简介哔哩哔哩(NASDAQ:BILI;HKEX:9626),英文名称:bilibili,简称B站,是中国年轻世代高度聚集的文化社区和视频网站,该网站于2009年6月26日创建,... 查看详情

仅用几行python代码就能帮小姐姐复制u盘文件,实用干货(代码片段)

...想直接分享出方法,大家一起受益。首先分两步,写出Python代码,其次把.py文件转换成exe文件,直接在wind 查看详情

b站直播有专门用来设置主播开播时间的插件吗?

...合,他可以设置主播开播时间和下播时间,插件自定义在直播间顶部或者底部显示。 参考技术B在b站里面直播的时间是不确定的。不同的主播,他们有着不同的直播时间。只要关注他们,随时去看一下,就知道他们什么时候直播... 查看详情

bilibili直播姬怎么播英雄联盟

b站有很多有趣的直播,那么有没有想自己开启直播?阿勒?不知道怎么开启直播啊,没事,看下去就知道怎么直播了。工具/原料moreb站 直播设置 开启直播 使用设备:手机方法/步骤1/7分步阅读首先,打开b站2/7进入到... 查看详情