B站我想大家都熟悉吧,其实 B 站的爬虫网上一搜一大堆。不过纸上得来终觉浅,绝知此事要躬行,我码故我在。最终爬取到数据总量为 760万条。

准备工作

首先打开 B 站,随便在首页找一个视频点击进去。常规操作,打开开发者工具。这次是目标是通过爬取 B 站提供的 api 来获取视频信息,不去解析网页,解析网页的速度太慢了而且容易被封 ip。

勾选 JS 选项,F5 刷新

找到了 api 的地址

复制下来,去除没必要的内容,得到https://api.bilibili.com/x/web-interface/archive/stat?aid=15906633 ,用浏览器打开,会得到如下的 json 数据

动手写码

好了,到这里代码就可以码起来了,通过 request 不断的迭代获取数据,为了让爬虫更高效,可以利用多线程。

核心代码

迭代爬取

整个项目的最主要部分的代码也就是 20 行左右,挺简洁的。

运行的效果大概是这样的,数字是已经已经爬取了多少条链接,其实完全可以在一天或者两天内就把全站信息爬完的。

至于爬取后要怎么处理就看自己爱好了,我是先保存为 csv 文件,然后再汇总插入到数据库。

数据库表

由于这些内容是我在几个月前爬取的,所以数据其实有些滞后了。

数据总量

查询播放量前十的视频

查询回复量前十的视频

python爬取b站403_使用Python爬取B站全站视频信息相关推荐

  1. python爬取b站搜索结果播放地址_如何利用Python快速爬取B站全站视频信息

    B 站我想大家都熟悉吧,其实 B 站的爬虫网上一搜一大堆.不过 纸上得来终觉浅,绝知此事要躬行,我码故我在.最终爬取到数据总量为 760万 条. 准备工作 首先打开 B 站,随便在首页找一个视频点击进 ...

  2. python爬取b站数据_使用Python爬取B站全站视频信息

    B站我想大家都熟悉吧,其实 B 站的爬虫网上一搜一大堆.不过纸上得来终觉浅,绝知此事要躬行,我码故我在.最终爬取到数据总量为 760万条. 准备工作 首先打开 B 站,随便在首页找一个视频点击进去.常 ...

  3. 如何快速爬取B站全站视频信息

    專 欄 ❈陈键冬,Python中文社区专栏作者,知乎专栏:尽瞎扯 GitHub: https://github.com/chenjiandongx ❈ B站我想大家都熟悉吧,其实 B 站的爬虫网上一搜 ...

  4. python爬取b站用户_用Python爬取bilibili全站用户信息

    教你用Python爬取哔哩哔哩全站用户信息 运行 下载 git clone https://github.com/cexll/bili_user_Spider.git 复制代码 运行环境 Window ...

  5. python爬虫之使用selenium爬取b站视频信息

    前言 在之前提到爬虫时,我想到的步骤大多是: 查找要爬取内容的页面的url,使用requests库获取响应内容 内容为html源码则使用BeautifulSoup等工具解析html源码,得到想要的数据 ...

  6. 【Python】大数据挖掘课程作业1——使用爬虫爬取B站评论、弹幕与UP主的投稿视频列表

    [Python]大数据挖掘课程作业1--使用爬虫爬取B站评论.弹幕与UP主的投稿视频列表 数据挖掘部分的基本目标是:对于指定的UP主,能够获取其投稿视频列表:对于指定的视频,能够获取其视频标签.评论( ...

  7. Python 爬取B站视频信息 弹幕信息 生成词云统计

    本文介绍功能:实现爬取B站视频信息(用户输入关键词).爬取弹幕信息(支持自定义天数).生成词云图 完整代码地址:https://github.com/736755244/py_bilibili 一.数 ...

  8. Python爬取B站视频信息

    该文内容已失效,现已实现scrapy+scrapy-splash来爬取该网站视频及用户信息,由于B站的反爬封IP,以及网上的免费代理IP绝大部分失效,无法实现一个可靠的IP代理池,免费代理网站又是各种 ...

  9. python网络爬虫学习(六)利用Pyspider+Phantomjs爬取淘宝模特图片

    本篇博文在编写时参考了http://cuiqingcai.com/2652.html,向作者表示感谢 一.新的问题与工具 平时在淘宝上剁手的时候,总是会看到各种各样的模特.由于自己就读于一所男女比例三 ...

最新文章

  1. [Spring Data MongoDB]学习笔记--建立数据库的连接
  2. linux脚本求命令行上整数和,shell脚本--cut命令与awk简单使用
  3. 索引存储模型-二分查找
  4. Setup a Windows Server 2012 ×××
  5. c语言大型软件设计的面向对象_C语言跟C++的根本区别以及特点
  6. Wireshark入门与进阶---数据包捕获与保存的最基本流程
  7. C++编程教程教你如何从零学起(免费高速下载)TXT文档分享
  8. html写注册协议页面,html+css编写用户注册协议页
  9. Linux中vi、vim命令大全
  10. IAR 软件的安装教程
  11. 破解极域电子教室密码
  12. 萤火虫小程序_成都以北2h的森林小镇!养在深闺的萤火虫、穿行山间的火车,在这露营解锁夏天的小秘密...
  13. 【gitee】fatal: unable to access ‘https://username:password@gitee.com: Port number ended with ‘l‘
  14. 各种软件以及插件官网地址 echarts Vscode 阿里云图标库 鼠标图标
  15. 微信小程序-增加水印(自定义内容)
  16. 实现网站对IP地址的限制访问
  17. 芯片电源类引脚符号标识及其含义
  18. 1688官网以图搜图爬虫案例
  19. java 源码系列 - 带你读懂 Reference 和 ReferenceQueue
  20. "无招胜有招"nbsp;史上最全的互…

热门文章

  1. SpringBoot之打包错误
  2. c语言c99标准_C语言的三套标准:C89、C99和C11
  3. android webview打印,javascript - 如何在Android Webview中使网站上的打印按钮工作? - 堆栈内存溢出...
  4. 一般将来时语法课教案_优秀教案人教版必修二Unit2——语法专题课训练
  5. 青海大学计算机考研调剂,青海大学2020年硕士研究生招生调剂公告
  6. java sdk他edk de区别_最低SDK版本/目标SDK版本与编译SDK版本之间有什么区别?
  7. 工作流流程部署 一般功能代码
  8. JAVA的if用法比如if(...){} 和if()没有区别
  9. 2017年杭州java面试题_2017年Java面试题整理
  10. java8种基本类型长度_【Java基础】Java的8种基本数据类型深入介绍