V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
liuliliuli2017
V2EX  ›  Python

爬虫扒下 bilibili 视频信息

  •  
  •   liuliliuli2017 · 2017-03-16 18:14:33 +08:00 · 4088 次点击
    这是一个创建于 2599 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从今天开始一步步完成 Python 日记计划,和 Python 相关的收录待用,修改转载已取得腾讯云授权


    在以上两篇文章中我们已经在腾讯云服务器上搭建好了 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

    Abirdcfly
        1
    Abirdcfly  
       2017-03-16 18:31:50 +08:00 via iPhone
    B 站算是对爬虫最"友好"的视频网站了。。|ω・`)
    liuliliuli2017
        2
    liuliliuli2017  
    OP
       2017-03-16 21:05:38 +08:00
    @Abirdcfly 是呀哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1475 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 17:00 · PVG 01:00 · LAX 10:00 · JFK 13:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.