b站视频爬虫(scrapy+[you-get])

上传者: 44510615 | 上传时间: 2021-06-22 10:03:31 | 文件大小: 16KB | 文件类型: ZIP
### b站视频爬虫 **功能** 爬取某个up的大部分视频 **使用到的库和框架** scrapy+[you-get](https://github.com/soimort/you-get) **使用方法** 1. 首先我们需要准备两个库,scrapy和you-get,只需要在命令行中输入以下两个命令即可 > scrapy: `pip install scrapy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com` > > you-get: `pip3 install you-get` 2. 然后我们需要在b站找到一个你想要爬取视频的up主,并进入到的个人空间获取url,如图所示:这里我们可以看见中间有一串数字,这就是这个up主的uid了,而我们的爬虫需要这个uid才可以运行。 我们除了需要这个uid,还需要一个该up主的任意一个视频,作为爬虫的起始地址,而后我们的爬虫会根据这个起始地址下的推荐进行检索,找到并跳转到这个up的其他的视频中,并不断递归下去,直到推荐中没有出现该up的其他视频为止,所以这里其实有个bug,就是无法爬取这个up的所有视频.......只能说是大部分。 3. 我们需要进入项目目录中的bilibili.py文件中将刚刚得到的uid写入到`up_uid`后面,再把那个任意视频的视频链接写到`base_url`后面即可。因为我是在win10的环境下开发的,所以这个爬虫爬下来的视频会直接放到D盘下的sp文件夹下。如果想要修改保存地址,只需要进入到SP_download.py文件下找到download函数,将`-o`后的路径改为你想要保存的路径即可。记得要在路径前加空格,别和`-o`连一起。 4. 在运行的时候,我们需要分两步运行,首先是需要在命令行中,cd到bilibiliSP这个目录下,然后运行`scrapy crawl bilibili`,如果没有报错的话,经过一顿输出后,应该会在该目录下生成一个bilibili_Output.txt文件,然后我们再运行SP_download.py文件即可直接将视频保存在相应的目录下。 **bug(以下的bug有可能会被修复)** 1. 首先就是无法获取一个up主下的所有视频,因为他是根据推荐视频进行检索的,所以如果推荐的视频里没有该up的视频,就无法进行递归了。 2. 由于you-get在下载b站视频时比较慢,所以我这里使用了python中的多线程进行下载,但并没有规定具体的线程数量,也没有使用线程池进行约束,所以具体能跑多少线程完全看电脑的性能,而且电脑在运行时应该也会比较卡,我个人电脑的话,好像可以同时开25个线程同时下载....也可能是我的错觉...... 3. you-get这个下载库在结合多线程之后会出现一些小bug,导致有很多时候视频虽然获取到了,但是并没有下载成功,会报错,这个还得继续研究一下原因。 4. 开始了就没有退路可言!没错,再开始运行这个爬虫的第二阶段,也就是运行SP_download之后,程序是无法停止的。就我个人的经验而谈,我是使用pycharm运行的,所以要真想停止的话可以直接使用任务管理器将pycharm终止掉。具体在终端运行这个py文件时如何停止,那就不得而知了。 **程序改动** 因为我这个爬虫在视频检索时是使用推荐检索的所以,理论上是可以爬取B站所有同类型视频的(如果B站没有相关检测机制的话),只需要对我这个爬虫的源代码进行一定的删减就可以做到了(没错就是删减,因为对特定up的爬取反而多了一些检测代码)。 **在此特别感谢you-get的贡献者团队!**

文件下载

资源详情

[{"title":"( 21 个子文件 16KB ) b站视频爬虫(scrapy+[you-get])","children":[{"title":"bilibiliSP","children":[{"title":"scrapy.cfg <span style='color:#111;'> 263B </span>","children":null,"spread":false},{"title":"bilibiliSP","children":[{"title":"middlewares.py <span style='color:#111;'> 3.57KB </span>","children":null,"spread":false},{"title":"pipelines.py <span style='color:#111;'> 364B </span>","children":null,"spread":false},{"title":"spiders","children":[{"title":"__pycache__","children":[{"title":"__init__.cpython-37.pyc <span style='color:#111;'> 155B </span>","children":null,"spread":false},{"title":"bilibili.cpython-37.pyc <span style='color:#111;'> 1.24KB </span>","children":null,"spread":false}],"spread":true},{"title":"SP_download.py <span style='color:#111;'> 631B </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 161B </span>","children":null,"spread":false},{"title":"bilibili.py <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false}],"spread":true},{"title":"__pycache__","children":[{"title":"__init__.cpython-37.pyc <span style='color:#111;'> 147B </span>","children":null,"spread":false},{"title":"settings.cpython-37.pyc <span style='color:#111;'> 528B </span>","children":null,"spread":false}],"spread":true},{"title":"items.py <span style='color:#111;'> 282B </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"settings.py <span style='color:#111;'> 3.15KB </span>","children":null,"spread":false}],"spread":true},{"title":".idea","children":[{"title":"bilibiliSP.iml <span style='color:#111;'> 284B </span>","children":null,"spread":false},{"title":"misc.xml <span style='color:#111;'> 288B </span>","children":null,"spread":false},{"title":"vcs.xml <span style='color:#111;'> 183B </span>","children":null,"spread":false},{"title":"modules.xml <span style='color:#111;'> 272B </span>","children":null,"spread":false},{"title":"workspace.xml <span style='color:#111;'> 4.96KB </span>","children":null,"spread":false},{"title":"inspectionProfiles","children":[{"title":"profiles_settings.xml <span style='color:#111;'> 174B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"bilbili_Output.txt <span style='color:#111;'> 9.98KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 3.63KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

  • joyfule :
    用户下载后在一定时间内未进行评价,系统默认好评。
    2021-12-01
  • m0_58046281 :
    用户下载后在一定时间内未进行评价,系统默认好评。
    2021-10-26

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明