Skip to content

sizhouLiu/BIliBili_dataGet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BIliBili_dataGet


本项目为Stupid_Cat 不想看论文摸鱼时解决压力的产物,用于消磨自己的时间以及复习数据库知识以及编程能力。

  1. 本项目遵守 CC-BY-NC 4.0 协议,禁止一切商业使用,如需转载请注明作者 ID
  2. 请勿滥用,本项目仅用于学习和测试!请勿滥用,本项目仅用于学习和测试!请勿滥用,本项目仅用于学习和测试!
  3. 本库用于获取Bilibili的视频的评论以及收藏夹、历史记录等数据,用于数据分析及数据挖掘的学习和参考
  4. 利用本项目提供的接口、文档等造成不良影响及后果与本人无关

依赖包引用

使用前请确保已经安装了以下第三方包:

  • requests
  • retrying
  • pandas
  • pymysql
  • urllib
  • hashlib
  • qrcode

快速开始

1.安装依赖

pip3 -r install requirements.txt

2.编写程序 实例化对象

from PyBiliBili import Spider
pachong = Spider()
pachong.get_bangumidata()
  1. run it
python3 main.py

接口文档


Login类

参数 类型 必要性 备注
cookies json/dict 必要

__islogin

通过接口判断Cookies 是否失效

__Login

*扫码登录BIliBili获取Cookies 登录后会存放到Cookies.json文件 如果Cookies**失效 *则重新扫码登录 return Cookies

__Cookies_name_get

获取Cookies 所对应的用户ID

Spider 类

继承自Login类

参数 类型 必要性 备注
cookies json/dict 必要

get_Comment_tocsv

参数 类型 必要性 备注
bvs list 必要

会将每个视频的数据以.csv格式存放到Commnet文件夹中

get_Comment_to_DataBase

参数 类型 必要性 备注
toDB SpidertoDB 必要 一个SpidertoDB实例,需要进行实例化配置数据库基础功能
bvs list 必要 bv号的列表

会在配置的数据库在中建一个bilibilicomment表将数据存入表中

bilibilicomment表结构

类型 备注
TITLE CHAR(50) NOT NULL
UPNAME CHAR(40) NOT NULL
TIME TIMESTAMP
UNAME CHAR(24)
LIKECOUNT BIGINT
COMMENTS TEXT

get_bangumidata

静态方法

参数 :无

生成.csv文件 返回B站番剧排行榜top50

get_Search_videos

参数 类型 必要性 备注
keyword string 必要 *keyword:*关键字 查询的视频标题 默认为原神
search_type string 非必要 搜索目标类型默认为video
order string 非必要 结果排序方式
page int 非必要 页码

return:list->[BV号,标题,播放量,UP主ID**,视频地址**]

get_upvideo_bv

参数 类型 必要性 备注
mid int 必要 up主的id**号 视频空间连接上的数字
page int 非必要 起始投稿页
max_page int 非必要 最大页

return: 返回一个list(list)->[[视频标题,视频BV号**,视频评论数,视频播放量],[视频标题,视频BV,视频评论数,视频播放量]]

history_title_get

参数 类型 必要性 备注
data_count int 必要 爬取多少数据 最大为**2000

在个人信息文件夹下生成一个.csv文件 返回历史记录的数据 数据包括视频标题 tag kid bvid

favlist_title_get

参数:mid

在个人信息文件夹下生成一个.csv文件 返回默认收藏夹的数据数据包括视频标题 tag kid bvid

SpidertoDB类

该类用于创建一个数据库对象 使得一次实例化就可以完成任务需要多长对数据库请求连接

参数 类型 必要性 备注
database string 必要 数据库名称
user string 必要 用户名
password string 必要 密码
host string 必要 服务器

__sql_toDB_judge

私有方法 用于执行数据库sql语句

参数 类型 必要性 备注
sql string 必要 SQL语句

insert_toDB

插入数据到表中

参数 类型 必要性 备注
title string 必要
upname string 必要
row dict 必要 jsondata解析出来的一行评论
type string 非必要 用于确定是否为根评论 当type为root时是根评论

create_table

当数据库中没有BiliBilicomment表时创建BiliBilicomment表

delete_Redundant_data

TODO: 去除重复数据 SQL语句条件判断错误把我的表给清空了 暂时搁置阿(´**。_。`**)

VideoSpider类

get_cid

参数 类型 必要性 备注
bvid string 必要 BV号

get_video

爬取视频并保存到/video文件夹中

参数 类型 必要性 备注
bvid string 必要 BV号
qn int 必要 清晰度
fnver int 必要 视频流版本标识 目前该值恒为**0
fnval int 必要 视频流格式标识

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages