B站算是对爬虫非常非常友好的网站啦!

修改转载已取得腾讯云授权


在以上两篇文章中我们已经在腾讯云服务器上搭建好了 Python 爬虫环境了,下一步就是在云服务器上爬上我们的爬虫,抓取我们想要的数据: [腾讯云的 1001 种玩法] 云服务器搭建 Python 环境 [腾讯云的 1001 种玩法] 云服务器搭建 Python 爬虫环境

今天我们要抓去的目标网站是,国内最大的年轻人潮流文化娱乐社区:哔哩哔哩 - ( ゜- ゜)つロ 干杯~ - bilibili B 站自建站以来已经收纳了大约六百多万的视频,那么今天我们就写一个爬虫去征服这六百多万条视频信息。

我们想抓取的就是上面的播放次数、评论数量、硬币数量以及收藏数量,接着我们开始。

1 、先分析 首先第一步这些数据在哪里?我们第一个想到的就是在网页源码里面,于是我们查看源码,搜索相关信息。

遗憾的是我们会发现,信息并不在源码中;紧接着我们打开 chrome 开发者工具查看请求信息。

http://api.bilibili.com/archive_stat/stat?callback=jQuery172011470242640208683_1488515896642&aid=8904657&type=jsonp&_=1488515897422

我们可以对以上的 url 进行修剪,删除一些不是必须要的参数。我们先观察这个 url , aid 是这个视频的 id 唯一标识不能删除,我们可以先把其余的参数都删掉试试看,如果不成功我们在一一加参数测试。

http://api.bilibili.com/archive_stat/stat?aid=8904657

显然,删除了非必要参数之后对内容毫无影响,所以我们只需要知道每个视频的 aid 就可以抓取所有的视频信息了。那么 B 站的视频 aid 是怎么编号的呢?我们可以多观察以下 aid 会发现这个 aid 是一个自动增长的主键,从 1 开始递增。于是我们代码思路有就了。

2 、写代码 使用 requests 库来请求获取数据,并使用 Python 的内置库 Json 来提取数据。

现在已经可以抓取单个视频信息了,让你的小爬虫遍历整个 B 站的视频。

现在你只需要把你的爬虫一直开在服务器上就 ok 了。


原文来自: https://www.qcloud.com/community/user/635207001488413960

爬虫扒下 bilibili 视频信息的更多相关文章

  1. python 爬取bilibili 视频信息

    抓包时发现子菜单请求数据时一般需要rid,但的确存在一些如游戏->游戏赛事不使用rid,对于这种未进行处理,此外rid一般在主菜单的响应中,但有的如番剧这种,rid在子菜单的url中,此外返回的 ...

  2. nodejs爬虫笔记(三)---爬取YouTube网站上的视频信息

    思路:通过笔记(二)中代理的设置,已经可以对YouTube的信息进行爬取了,这几天想着爬取网站下的视频信息.通过分析YouTube,发现可以从订阅号入手,先选择几个订阅号,然后爬取订阅号里面的视频分类 ...

  3. 一个简单的爬取b站up下所有视频的所有评论信息的爬虫

    心血来潮搞了一个简单的爬虫,主要是想知道某个人的b站账号,但是你知道,b站在搜索一个用户时,如果这个用户没有投过稿,是搜不到的,,,这时就只能想方法搞到对方的mid,,就是 space.bilibil ...

  4. Python爬取B站视频信息

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

  5. bilibili用户信息查询

    bilibili用户信息查询 http://space.bilibili.com/ajax/member/GetInfo?mid= 后缀为用户mid号 # -*- coding:utf-8 -*- # ...

  6. Python 批量下载BiliBili视频 打包成软件

    文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...

  7. 使用requests爬取梨视频、bilibili视频、汽车之家,bs4遍历文档树、搜索文档树,css选择器

    今日内容概要 使用requests爬取梨视频 requests+bs4爬取汽车之家 bs4遍历文档树 bs4搜索文档树 css选择器 内容详细 1.使用requests爬取梨视频 # 模拟发送http ...

  8. javaweb中上传视频,并且播放,用上传视频信息为例

    1.上传视频信息的jsp页面uploadVideo.jsp <body background="image/bk_hero.jpg"><div id=" ...

  9. python调用mediainfo工具批量提取视频信息

    写了2个脚本,分别是v1版本和v2版本 都是python调用mediainfo工具提取视频元数据信息 v1版本是使用pycharm中测试运行的,指定了视频路径 v2版本是最终交付给运营运行的,会把v2 ...

随机推荐

  1. IC卡的传输协议(2)-块传输协议T=1续【转】

    转自:http://bbs.ednchina.com/BLOG_ARTICLE_172025.HTM (3)容错操作 先来看一下容错的规则定义. * 复位应答后,第一个数据块是由终端发往IC卡的,而且 ...

  2. IpmiTool常见问题解决办法

    IpmiTool常见问题解决办法 http://blog.csdn.net/c9h8o4/article/details/17138029 关于IPMI的几个问题 http://blog.csdn.n ...

  3. OC的UUID生成

    NSString *uuidStr = [[NSUUID UUID] UUIDString];

  4. DELPHI用const来提高应用程序在多核多线程下的性能

    来自:http://bbs.csdn.net/topics/330048800 --------------------------------------------------------- 我们 ...

  5. 《Java编程思想》笔记 第十三章 字符串

    1.String对象不可变 String对象不可变,只读.任何指向它的引用都不能改变它的内容.改变String内容意味着创建了一个新的String对象. String 对象作为方法参数时都会复制一份引 ...

  6. Selenium2+python自动化31-生成测试报告【转载】

    前言 最近小伙伴们总有一些测试报告的问题,网上的一些资料生成报告的方法,我试了都不行,完全生成不了,不知道他们是怎么生成的,同样的代码,有待研究. 今天小编写一下可以生成测试报告的方法.个人觉得也是最 ...

  7. mysql的一些工具(系统自带)

    1.mysqld: 这个是mysqld服务器的主程序. 2.mysqld_safe: 这个是unix系统下,辅助mysql服务器启动的工具. 直接运行mysqld程序来启动MySQL服务的方法很少见, ...

  8. python 多进程并发与多线程并发

    本文对python支持的几种并发方式进行简单的总结. Python支持的并发分为多线程并发与多进程并发(异步IO本文不涉及).概念上来说,多进程并发即运行多个独立的程序,优势在于并发处理的任务都由操作 ...

  9. 统计mysql库中每张表的行数据

    修改数据库配置文件:vim /etc/my.cnf [client] user=username password=password 使用shell脚本统计表中的行数据:count.sh #!/bin ...

  10. (三)mysql数据库基本操作

    (1)SQL语句:结构化查询语句 DDL语句 数据定义语言:数据库丶表丶视图丶索引丶存储过程丶函数丶create drop alter DML语句 数据库操作语言:插入数据insert,删除数据del ...