How to craw the Info of BiliBIli with python
It is a simple craw Script learned by Python利用B站API获取视频信息.It is a good case for a beginner just like me.In my perspective of a beginner,the key is how to analysis the JS file with an efficient, stable way.
Also there are many aspects to be improved,such as DB store,multi Processes/Threading and so on.
# -*- coding:utf-8 -*-import time
import requests
import sys
from prettytable import PrettyTableimport importlib#set the encoding
importlib.reload(sys)#the logic code
def startCraw(url,beginNum,crawNum):tableItem = PrettyTable(['av_num','view','danmaku','replay','favorite','coin','share'])times = 0while(times < crawNum):myRequest = requests.get(url.format(beginNum),headers = {})if myRequest.status_code == 200:try:jsDict = myRequest.json()['data']av_num = 'av' + str(beginNum)view = str(jsDict['view'])danmaku = str(jsDict['danmaku'])reply = str(jsDict['reply'])favorite = str(jsDict['favorite'])coin = str(jsDict['coin'])share = str(jsDict['share'])tableItem.add_row([av_num,view,danmaku,reply,favorite,coin,share])except Exception as e:print('error:%s' %(e))passelse:print('the status_code is not 200,url:%s,status_code:%d' %(url.format(beginNum),myRequest.status_code))beginNum += 1times += 1print(tableItem)#main function
if __name__ == '__main__':url = 'https://api.bilibili.com/x/web-interface/archive/stat?aid={}'beginNum = int(input('please enter the begin av_number:'))crawNum = int(input('please enter the number you want to craw:'))startCraw(url,beginNum,crawNum)
How to craw the Info of BiliBIli with python相关推荐
- 爬虫的基本知识第一个请求requests模块的基本使用
文章目录 1.请求过程与网页基础 1.1 URL介绍 1.2 HTTP请求过程 1.3请求 1.4 响应 1.4 网页基础 2.第一个请求 2.1 爬虫工作流(复习) 2.2 第一个爬虫 3.requ ...
- python二维散点分布图_深入理解皮尔逊相关系数amp;python代码
1.常见理解误区 (1)计算出变量A和变量B的皮尔逊相关系数为0,不代表A和B之间没有相关性,只能说明A和B之间不存在线性相关关系. 例:温度和冰淇淋销量之间的散点图像如下,可以发现大致成二次函数图像 ...
- 青少年编程python一节课多长时间_10节免费少儿编程微课:Python基础知识微课
课程介绍课程名称:Python基础知识微课(10节) 课程内容:通过对Python基础知识的讲解,教孩子们学会使用海龟编辑器进行编程,了解Python的基础知识,学完课程之后,孩子们可以用海龟编辑器快 ...
- 四非院校的我是如何从化工行业转行成为一名数据挖掘工程师的
在大家这四年不断的催更声中,我更新了. 没错,我转行了. 2019年深圳大学生化环材专硕毕业,在知乎上这样的学历混深圳有多惨不用我赘述了吧T0T,不是司徒不更新,而是不知道怎么说才好啊!(´_`) 研 ...
- 阿雪的学习记录|Spyder下PyQt5基础学习笔记总结与心得
日常刷课,课程链接:Bilibili:Python Qt 图形界面编程 - PySide2 PyQt5 PyQt PySide 目录 一些需要注意的事 1. 封装代码 2. 打包并发布程序 3. 图形 ...
- 太惊艳了,爆干几天几夜完成的实战模型:【猫狗大战】附资料
OpenMV 从入手到跑TensorFlow Lite神经网络进行垃圾分类 一.了解OpenMV 4 plus的构成 1.OpenMV 4 plus 的特点 1.1 硬件资源 1.2 引脚图 2.可用 ...
- 今天分享个用Python爬虫爬取Bilibili弹幕的小例子解析
先来思考一个问题,B站一个视频的弹幕最多会有多少? 比较多的会有2000条吧,这么多数据,B站肯定是不会直接把弹幕和这个视频绑在一起的. 也就是说,有一个视频地址为 https://www.bilib ...
- 解决NahimicSvc32.exe与bilibili直播姬的音频不兼容的问题
解决NahimicSvc32.exe与bilibili直播姬的音频不兼容的问题 参考文章: (1)解决NahimicSvc32.exe与bilibili直播姬的音频不兼容的问题 (2)https:// ...
- bilibili怎么设置弹幕数量_python爬取B站视频弹幕分析并制作词云
1.分析网页 视频地址: www.bilibili.com/video/BV19E- 本身博主同时也是一名up主,虽然已经断更好久了,但是不妨碍我爬取弹幕信息来分析呀. 这次我选取的是自己 唯一的爆款 ...
- github bilibili
每次都要找太麻烦了,所以直接在博客中保存一份,话说,b站最近后院起火啦 https://github.com/Bilibili/ijkplayer
最新文章
- Windows Server 2003活动目录:管理特征
- DISCUZ 嵌入点 输出插件模版内容
- 如何在android客户端中做到自动检查数据更新?,UpdateHelper
- ETL异构数据源Datax_日期增量同步_13
- Qt5.7+Opencv2.4.9人脸识别(六)Tcp,Mysql,3DES,XML综合
- 六、面向对象编程——类和对象
- MODIS数据下载及图像处理教程
- 康佳电视系统升级服务器地址,康佳电视各平台升级方法及强制刷机汇总
- 3类IP的私网地址网段
- Visio中添加《include》包含符号
- 一个Word中的样式导入另一个Word
- CopyOnWriteArraySet
- system(“pause”)是什么
- OFDM正交频分复用——详解——5G-LTE知识必备
- shrio简介--w3cschool
- 香港服务器跟国内服务器的区别!
- 带你了解Google搜索引擎的竞价排名是怎样实现的?
- 2020年度 个人随笔
- Did the Microsoft Stack Kill MySpace?
- 计算机视觉两个入门数据集(mnist和fashion mnist)本地下载地址