Skip to content

justinbaby/Bilibili

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bilibili

哔哩哔哩爬虫系统
项目框架:
SpringMVC+MyBatis
数据库:
Mysql5.7
开发环境:
JRE: 1.8.0_112-release-736-b13 amd64
IntelliJ IDEA 2017.1
Windows 10
----------------------------------------------

爬虫数据在线查询帐号:bilibili 密码:2233

实现功能:


1.获取以下三个接口信息并写入数据库


接口一:http://api.bilibili.com/view?access_key={access_key}&appkey={appkey}&id={aid}&page={page}&type=xml
接口二:http://interface.bilibili.com/player?id=cid:{cid}
接口三:http://api.bilibili.com/x/v2/history?access_key={0}&pn={1}&ps={2}
http://api.bilibili.com/x/v2/history/{0}

首先主动添加历史记录,然后再获取历史记录,再清除历史记录,三个步骤不断重复,达到获取所有视频数据目的。
历史记录接口数据相比于接口三数据只是没有视频源信息,不过够用了。

接口数据作用一睹为快

看完上面的小短片就应该明白这些数据是搭配bilibili黑科技食用的,通过aid(AV号)或者cid(弹幕号)看到被和谐的视频, 这些接口就是用来收集这些数据的,基本上只要是存在过B站的视频都能找到
例如:缘之空、日在校园、学园默示录、记忆女神的女儿们、新妹魔王的契约者等
这些数据除了拿来找被删视频弹幕之外,当然还可以拿这些数据做各种各样的统计。

-----------------------------------------------------------------------------------------------------------------
项目初始化:
第一步:jar包都是用Maven进行管理的,所以项目克隆下来还要从Maven本地仓库/远程仓库中加载jar包。
第二步:用数据库表创建脚本创建数据库以及表,初始化配置参数
其中要手动往sql脚本文件添加access_token参数或者DedeUserID、DedeUserID__ckMd5、SESSDATA这三个参数
二选一,否则bilibili接口请求失败
其中access_token是手机bilibili客户端用到的参数,需要通过捉手机客户端包才可以找到,不是这里三言两语可以说清楚的。
而设置cookie就简单得多。如下图打开chrome浏览器(其他浏览器差不多),开发者工具,找到查看cookie的地方,把红框里的三个值添加到数据库的param表里面
image
如无意外创建完毕表结构应该跟下图一样。 数据库结构图 image
数据库部分数据展示
第三步:参数配置
配置好以下4个参数,其他默认配置即可。
localPath mysql本地备份目录
serverPath mysql同步盘备份目录/打包目录
dbusername mysql账号
dbpassword mysql密码

第四步:启动爬虫测试
打开爬虫测试类运行main方法即可
-------------------------------------------------------------------------------------------------------------------------------------------------
数据库是自动定时备份,默认每个星期日零点备份一次,修改配置请自行打开配置文件dbbackup修改cron定时器表达式
cron表达式在线生成地址
关于项目问题可以私信

About

Bilibili爬虫

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 96.9%
  • HTML 3.1%