近几年,直播平台蛮火的.小时候,经过各种日漫的洗礼,在直播平台自然而然的就盯上了B站. 目前还是python菜鸟一枚,各位大佬请轻拍. 最终效果图: 闲话不说,我们来一步步解析B站的弹幕. 工具:python3.5 平台:windows10 首先,浏览器打开B站直播180房间,房间主播是:少寒Shine.接着,按f12获取网站的源代码 看<head>标签中,编码是utf-8:<title>标签是房间的标题,正是程序所需要的,所以我们只需要用python提取<title>…
在获取房间号之前我们先解决上篇文章遗留的bug,即输入的房间号不是数字和对应的房间号不存在而产生的问题. 输入的房间号不是数字: 在python中,你所输入的必定是字符串,虽然你输入的是数字,但是类型还是str. roomId = input('请输入房间号:') 运用上一篇文章的代码,我们来测试一下 在python中,只有同一类型的才能用"+"来连接,所以我们上一篇文章的代码也可以改成 roomUrl = 'http://live.bilibili.com/'+ roomId 拓展知…
获取斗鱼直播间每个房间的名称.观看人数.tag.主播名字 代码: import time from multiprocessing import Pool from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import ex…
灵感来源 之前在B站看到一个有意思的视频: [B站][亦]终极云游戏!五千人同开一辆车,复现经典群体智慧实验 大家可以看看,很有意思. up主通过代码实现了实时读取直播间里的弹幕内容,进而控制自己的电脑,把弹幕翻译成指令操控<赛博朋克2077>游戏. 观众也越来越多,最后甚至还把直接间搞崩了(当然,其实是因为那天B站全站崩了). 我十分好奇到底是怎么做到的. 外行看热闹,内行看门道,作为半个内行,我们就模仿UP主的想法,自己做一个. 所以今天我的目标就是复刻一个 通过弹幕控制直播间 的代码,并…
基于python的直播间接口测试详解 一.基本用例内容描述 以设置白名单 /advisor/setUserWhiteList.do接口为例,该方法为POST at first,先要导入一些常用到的模块 接下来是针对一个接口的单元测试框架,类名的前缀需要是Test开头,用例的def方法名必须是以test开头,这样以便我们后续便于管理testsuite 首先是框架分为SetUp(self),tearDown(self)以及test_***(self)这三个部分, 先说下SetUp(self),tea…
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬取B站弹幕视频讲解 https://www.bilibili.com/video/BV1954y1r7pi/ 基本开发环境 Python 3.6 Pycharm 相关模块使用 import requests import time from tkinter import * import random 目标网页分析 首先你要登陆B站账号,然后随便点击一个,直播间,这里建议先选…
当我们开始打开浏览器,并进入B站直播网页前,我们打开wireshark软件(软件的下载与安装请百度一下)开始截取当前数据. 然后输入直播间网址,enter进入就可以停止截取数据了,然后我们分析所截取的这段数据. GET请求 如果你的数据过多请这样过滤: 这样 你的http网址请求就很快筛选出来了.右键跟踪流发现这个请求得到的是源代码. 这段源代码对于我们来说是没有意义的.我们使用urlopen就可以打开这样的源码. 接着,我们继续往下翻,发现浏览器接着又来了个GET请求了 同样我们追踪这个流发现…
前言:本文使用的是VBS脚本,实现了对繁星直播自动登录,自动进入房间并且自动评论. 前提准备:把需要刷的评论放到mysql中,再使用vbs读出评论 -------------------------------------------------------------------------------- 1.vbs实现连接mysql数据库并且读出数据 首先本地或者远程有一个mysql,再者,需要下载mysql connector,下载链接http://dev.mysql.com/downlo…
Python 多进程编程之 进程间的通信(Queue) 1,进程间通信Process有时是需要通信的,操作系统提供了很多机制来实现进程之间的通信,而Queue就是其中的一个方法----这是操作系统开辟的一个空间,可以让各个子进程把信息放到Queue中,也可以把自己需要的信息取走----这就相当于系统给python开辟了一个聊天室,让python创建的子进程可以在这个聊天室里畅所欲言----一个进程可以放多条消息到Queue中 2,实例 #导入Queue,Process from multipro…
前言 大学的学习时光临近尾声,感叹时光匆匆,三年一晃而过.同学们都忙着找工作,我也在这里抛一份简历吧,欢迎各位老板和猎手诚邀.我们进入正题.直播行业是当前火热的行业,谁都想从中分得一杯羹,直播养活了一大批人,一个平台主播粗略估计就有几千号人,但是实时在线观看量有的居然到了惊人的百万级别,特别是游戏主播,可想而知,直播间是一个磁铁式的广告传播媒介,也难怪这么多巨头公司都抢着做直播.我不太清楚直播行业技术有多深,毕竟自己没做过,但是咱们可以自己实现一个满足几百号人同时观看的直播间呀. 最终成果 演示…
目录 1.服务端提供所有直播间的列表信息 2.前端显示房间列表 3.创建房间 1.服务端提供所有直播间的列表信息 1.marshmallow.py from marshmallow_sqlalchemy import SQLAlchemyAutoSchema,auto_field from .models import LiveStream,db from application.apps.users.models import User from marshmallow import post…
Python+Selenium自动化-获取页面信息   1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import time browser = webdriver.Chrome() browser.get('https://www.baidu.com') #打印网页标题 print(browser.title) #输出内容:百度一下,你就知道 2.获取页面URL current_url:获取当前页面的URL fr…
非行间样式案例 #div1 { width: 200px; height: 200px; background: red; } IE获取非行间样式 var oDiv = document.getElementById('div1'); oDiv.currentStyle.width; Chrome/FF获取非行间样式 var oDiv = document.getElementById('div1'); oDiv.getComputedStyle(oDiv,false).width; 我的兼容性…
<!--DOCTYPE html--> <html> <head> <meta charset="utf-8" /> <style> *{ text-align:center;} input{ margin-top:30px; padding:10px 20px;} #div1{ width:500px; height:300px; background:red; margin:10px auto;} </style&g…
获取非行间样式: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>获取非行间样式</title> <style> #div1{height: 200px;width: 200px;background-color: red;} </style> <script> fun…
在上SAP项目过程,上了SD模块的企业一般都要做一些跟公司间采购订单或销售订单的交货状态的报表,通过这些报表可以经客户的业务上提供很大的灵活性,至于如何的灵活,还是那句老话“谁用谁知道".1)如何判断公司间采购订单是否已交货?     这个比较简单了,直接通过表EKPO的字段ELIKZ来判断的,前台如下图所示,至于这个字段我想多说,只想说一下这个标记是什么产生的?来理一下业务的知识,根据公司间的采购订单创建交货单,发货过账后,当时幼稚的我认为这个标记应该打上了,但是并没有打上,只有通过migo收…
html节点的样式分为以下几种 (1)浏览器默认样式 (2)引用样式(引用外部css文件的样式.style标签内定义的样式) 引用外部css样式:<link rel="stylesheet" href="css/style.css" type="text/css"> style标签内:<style> width:100px; </style> (3)行间样式(节点style属性定义的样式)比如:<div…
最近要获取服务器各种参数,包括cpu.内存.磁盘.型号等信息.试用了Hyperic HQ.Nagios和Snmp,它们功能都挺强大的,但是于需求不是太符,亦或者太heavy. 于是乎想到用python执行shell获取这些信息,python执行shell脚本有以下三种方法: 1. os.system() os.system('ls')#返回结果0或者1,不能得到命令的输出 2. os.popen() output = os.popen('ls') print output.read()#打印出的…
运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运用Python语言编写获取Linux基本系统信息(二):文件系统使用情况获取 一.实验环境: Python2.7.10.pycharm.VM虚拟机.CentOS6.3.mysql 二.MySQLdb模块: MySQLdb模式是Python中专门连接MySQL数据库的模块,另外Python开发环境的搭…
本文跟着上一篇文章继续写,上一篇文章的链接 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 一.随便说说 获取文件系统使用情况的思路和上一篇获取主要系统是一样的,都是通过执行命令获取linux执行命令后的打印,然后对打印出的结果进行处理. 本文在CentOS中获取文件系统的命令是df -h(用量以G/M单位进行显示) 在命令行中打印出来的结果是: 二.想法实现 本篇文章中用到了上一遍文章(链接见顶部)的commands模块在这里就不粘贴代码占篇幅了.…
<!--DOCTYPE html--> <html> <head> <meta charset="utf-8" /> <style> *{ text-align:center;} input{ margin-top:30px; padding:10px 20px;} #div1{ width:500px; height:300px; background:red; margin:10px auto;} </style&g…
上一篇文章中不知道大家发现端倪木有,两张照片对比很明显发现第一张是信息很明显的,第二张是乱码的. 为什么会出现这种情况?细心的童鞋可能发现是我们发送给服务器的请求连接的数据不同: 第一张图的信息是{"roomid":98284,"uid":271298361556770} 第二张图的信息是{"uid":276194535568357,"protover":2,"roomid":98284} roomid是真…
Python 通过脚本获取Android的apk的部分属性,再通过加密算法生成秘钥. #!/usr/bin/env python # -*- coding: utf- -*- import os import sys import zipfile import re import hashlib #MD5和sha1算法 def getAppBaseInfo(apkpath): #print(apkpath) #检查版本号等信息 output = os.popen("aapt.exe d badg…
<!--DOCTYPE html--> <html> <head> <meta charset="utf-8" /> <style> *{ text-align:center;} input{ margin-top:30px; padding:10px 20px;} #div1{ width:500px; height:300px; background:red; margin:10px auto;} </style&g…
from selenium import webdriver from selenium.webdriver import ActionChains #1.打开登陆页面 wd = webdriver.Chrome() wd.implicitly_wait(10) wd.get('https://mail.qq.com/') #2.切换到账号密码登陆 login_frame = wd.find_element_by_id('login_frame') wd.switch_to.frame(logi…
Python 多进程编程之 进程间的通信(在Pool中Queue) 1,在进程池中进程间的通信,原理与普通进程之间一样,只是引用的方法不同,python对进程池通信有专用的方法 在Manager()中引用Queue()方法来创建通信队列. 2,实例 from multiprocessing import Manager,Pool def wp(q): for i in "WANG": q.put(i) print("写入:%s"%i) def rd(q): whil…
这是本人的web前端学习直播间 一般每天晚上10点--12点为直播时间...以web前端开发为主. 若设备无法打开,请点击链接进入:https://www.huya.com/14958154 setTimeout(function(){ location.href="https://www.huya.com/14958154"; },2000)…
原创来自:https://blog.csdn.net/mengtao0609/article/details/55049059 python使用traceback获取详细的异常信息 2017年02月13日 14:59:05 阅读数:2229 try: 1/0 except Exception,e: print e 输出结果是integer division or modulo by zero,只知道是报了这个错,但是却不知道在哪个文件哪个函数哪一行报的错.   下面使用traceback模块 官…
Python 之自动获取公网IP 2017年9月30日 文档下载:https://wenku.baidu.com/view/ff40aef7f021dd36a32d7375a417866fb84ac0fd 0.预备知识 0.1 SQL基础 ubuntu.Debian系列安装: root@raspberrypi:~/python-script# apt-get install mysql-server Redhat.Centos 系列安装: [root@localhost ~]# yum inst…
这篇文章主要给大家介绍了在Python中如何获取类属性的列表,文中通过示例代码介绍的很详细,相信对大家的学习或者工作具有一定的参考借鉴价值,有需要的朋友可以参考借鉴,下面来一起看看吧. 前言 最近工作中遇到个需求是要得到一个类的静态属性,也就是说有个类 Type ,我要动态获取 Type.FTE 这个属性的值. 最简单的方案有两个: ? 1 2 getattr(Type, 'FTE') Type.__dict__['FTE'] 那么,如果要获取类属性的列表,该怎么做呢? 首先上场的是 dir ,…