bilibilispider

0.5.5 • Public • Published

Bilibili Spider库

简介

这是一个用于个人获取b站数据的前端爬虫库,请求部分由我的项目 JSpider 2.0 完成,而数据转换成 xlsx 文件的部分由 sheetjs 完成。而相关js插件都是通过 jsdelivr 的 api 导入的。

这个库可以实现输入简单的几个字 直接爬取到 xlsx 文件!!

没错,一步到位,所有的数据直接转化为 Excel 能够打开的文件,前端爬虫就是如此轻松!

这个库仅仅用于个人爬虫研究,请勿用于非法行为。

作者的闲聊

日期:2021-1-4

我在练习爬虫的时候,对 b站的 api 稍有研究(需要做作业),所以写了一下 b 站的爬虫,发现 b 站的 api 没有设置很多的反爬手段(从前端JS的角度看毫无难度),所以整合了一下 b 站的爬虫代码,做成了这个库。

这个库用在哪里?怎么用?

这个库用在 https://www.bilibili.com/页面 的开发者工具的 Console 中,注意在其他网站可能会不成功,直接在 b站主页 是肯定能爬取的。

(开发者工具不会用?右键 -> 检查 -> Console 页面)

在那里输入下面这行代码

import('https://cdn.jsdelivr.net/npm/bilibilispider/index.js')

等待提示加载完成即可。对的,没有复杂的安装代码,自动解决

然后你可以输入 _Bilibili 看看有什么工具可以使用。

各个工具的使用方式

全部的函数都封装在 _Bilibili 这个变量里面了,用就完事了。 为了防止我以后忘记了怎样使用这个爬虫工具,我顺便把函数的名字多加了中文版本,中文名称没什么好说的。

函数名 例子 注意事项
全站排名获取 _Bilibili.全站排名获取() 这是获取爬取的时候的时间点的排名
全部番剧信息收集 _Bilibili.全部番剧信息收集() 这是获取爬取的时候B站的番剧信息
在站内搜索 _Bilibili.在站内搜索('搜索信息') 这是直接爬取全部的搜索信息,注意是全部,大概数量在1000左右
UP主相簿信息 _Bilibili.UP主相簿信息(000000) 爬取 ID 为 000000 的 UP 主的相簿信息
UP主视频信息 _Bilibili.UP主相簿信息(000000) 爬取 ID 为 000000 的 UP 主的视频信息
BV转AV _Bilibili.BV转AV('BV0000000') 转换BV号为AV号
某视频的评论区 _Bilibili.某视频的评论区(0000000) 爬取 AV号 为 000000 的视频评论区
某些视频的信息 _Bilibili.某些视频的信息(['000000']) 爬取BV号为000000(可以为数组)的视频信息

关于B站的各种id 2333

B 站ID有好多种,找了我好久菜看懂

意义 前缀
第一代视频ID av,aid
第二代视频ID bv,bid,bvid
专栏ID cv,cvid
番剧编号 ep
UP主编号 mid
好像是统一的编号 cid
看情况,这个出现在请求参数种,一般和aid一致 oid
一般来说,只要是视频都有aid,包括番剧和普通的视频,专栏使用 cvid。

使用者注意

如果是做一个作业的话,是可以直接使用的,b 站没有太严格的反爬措施,只要不是并发 3,delay 0,数量在1000 就没有多大的问题,如果请求过快,会导致你的浏览器有一段时间请求不了b站的信息,表现为打不开网页或数据不会刷新,但不用担心,等一会就会正常的。

所有的请求默认都会从浏览器缓存中取出。也就是说,你使用过一次函数,第二次使用它时,如果浏览器会优先从缓存中找这些结果。

关于这个项目

这个项目尚未完成,我想把评论区和视频的爬虫脚本也做了,但是考虑到视频下载的话很难做,而且有油猴插件已经可以完成这个任务了,所以想要获取视频的同学还是用插件吧。

关于 JSpider 2.0 系列

JSpider 2.0 是关注于前端如何去快速爬取一些URL的库,在我编写的时候还没有形成对数据的保存意识。在学过前端存储之后,发现完全可以在浏览器里面存数据(而且我的上一个大型爬虫项目在浏览器里面存了1G多数据,没有什么影响),所以着手准备 3.0 的版本。

Readme

Keywords

none

Package Sidebar

Install

npm i bilibilispider

Weekly Downloads

1

Version

0.5.5

License

MIT

Unpacked Size

22.1 kB

Total Files

15

Last publish

Collaborators

  • konghayao