爬虫扒下 bilibili 视频信息
B站算是对爬虫非常非常友好的网站啦!
修改转载已取得腾讯云授权
在以上两篇文章中我们已经在腾讯云服务器上搭建好了 Python 爬虫环境了,下一步就是在云服务器上爬上我们的爬虫,抓取我们想要的数据: [腾讯云的 1001 种玩法] 云服务器搭建 Python 环境 [腾讯云的 1001 种玩法] 云服务器搭建 Python 爬虫环境
今天我们要抓去的目标网站是,国内最大的年轻人潮流文化娱乐社区:哔哩哔哩 - ( ゜- ゜)つロ 干杯~ - bilibili B 站自建站以来已经收纳了大约六百多万的视频,那么今天我们就写一个爬虫去征服这六百多万条视频信息。

我们想抓取的就是上面的播放次数、评论数量、硬币数量以及收藏数量,接着我们开始。
1 、先分析 首先第一步这些数据在哪里?我们第一个想到的就是在网页源码里面,于是我们查看源码,搜索相关信息。

遗憾的是我们会发现,信息并不在源码中;紧接着我们打开 chrome 开发者工具查看请求信息。 
我们可以对以上的 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 视频信息的更多相关文章
- python 爬取bilibili 视频信息
抓包时发现子菜单请求数据时一般需要rid,但的确存在一些如游戏->游戏赛事不使用rid,对于这种未进行处理,此外rid一般在主菜单的响应中,但有的如番剧这种,rid在子菜单的url中,此外返回的 ...
- nodejs爬虫笔记(三)---爬取YouTube网站上的视频信息
思路:通过笔记(二)中代理的设置,已经可以对YouTube的信息进行爬取了,这几天想着爬取网站下的视频信息.通过分析YouTube,发现可以从订阅号入手,先选择几个订阅号,然后爬取订阅号里面的视频分类 ...
- 一个简单的爬取b站up下所有视频的所有评论信息的爬虫
心血来潮搞了一个简单的爬虫,主要是想知道某个人的b站账号,但是你知道,b站在搜索一个用户时,如果这个用户没有投过稿,是搜不到的,,,这时就只能想方法搞到对方的mid,,就是 space.bilibil ...
- Python爬取B站视频信息
该文内容已失效,现已实现scrapy+scrapy-splash来爬取该网站视频及用户信息,由于B站的反爬封IP,以及网上的免费代理IP绝大部分失效,无法实现一个可靠的IP代理池,免费代理网站又是各种 ...
- bilibili用户信息查询
bilibili用户信息查询 http://space.bilibili.com/ajax/member/GetInfo?mid= 后缀为用户mid号 # -*- coding:utf-8 -*- # ...
- Python 批量下载BiliBili视频 打包成软件
文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...
- 使用requests爬取梨视频、bilibili视频、汽车之家,bs4遍历文档树、搜索文档树,css选择器
今日内容概要 使用requests爬取梨视频 requests+bs4爬取汽车之家 bs4遍历文档树 bs4搜索文档树 css选择器 内容详细 1.使用requests爬取梨视频 # 模拟发送http ...
- javaweb中上传视频,并且播放,用上传视频信息为例
1.上传视频信息的jsp页面uploadVideo.jsp <body background="image/bk_hero.jpg"><div id=" ...
- python调用mediainfo工具批量提取视频信息
写了2个脚本,分别是v1版本和v2版本 都是python调用mediainfo工具提取视频元数据信息 v1版本是使用pycharm中测试运行的,指定了视频路径 v2版本是最终交付给运营运行的,会把v2 ...
随机推荐
- 解决:org.apache.tomcat.jni.Error: 70023: This function has not been implemented on this platform
centos7.3 启动tomcat 出现错误: 八月 08, 2017 4:58:47 下午 org.apache.catalina.core.StandardEngine startInterna ...
- 几个很好的OJ网站
很友好的OJ网站(OJ是open judge,在线评测) POJ 北京大学ACM ZOJ 浙江大学ACM WOJ 武汉大学ACM(一个题目提交通过后,可以查看通过该题的所有代码) 唯一不好的地方是题 ...
- 搜索引擎--范例:django之初试牛刀
这学期学了一门课<信息检索>,也就是传说中的搜索引擎 大作业自然而然的让我们自己做一个小型的搜索引擎.于是乎,我们本次的主题就诞生了 我也是边学边用,下面和大家一起分享我在这个过程中学到的 ...
- SPOJ - AMR11H
Array Diversity Time Limit: 404MS Memory Limit: 1572864KB 64bit IO Format: %lld & %llu Submi ...
- k8s的deployment应用
Kubernetes 通过各种 Controller 来管理 Pod 的生命周期.为了满足不同业务场景,Kubernetes 开发了 Deployment.ReplicaSet.DaemonSet.S ...
- PhpStorm最新版 2017激活办法
特别注意:为避免phpstorm联网时注册失效,请将“0.0.0.0 account.jetbrains.com”添加到hosts文件中. 最新版PhpStorm 2017正式版改进了PHP 7支持, ...
- 前端nginx后端tomcat记录真实ip
修改nginx主配置文件:/usr/local/nginx/conf/nginx.conf proxy_set_header Host $host; proxy_set_header X-Real-I ...
- CF 999B. Reversing Encryption【模拟/string reverse】
[链接]:CF [代码]: #include<bits/stdc++.h> #define PI acos(-1.0) #define pb push_back #define F fir ...
- aoj 0033 Ball【dfs/枚举】
有一个形似央视大楼(Orz)的筒,从A口可以放球,放进去的球可通过挡板DE使其掉进B裤管或C裤管里,现有带1-10标号的球按给定顺序从A口放入,问是否有一种控制挡板的策略可以使B裤管和C裤管中的球从下 ...
- HDU 2162(注意初始化位置!)
Add ‘em Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...