有时候没有实际需求,那学习就只能从爱好入手了。

目前我所想到的一些感兴趣的任务有:

  1. B站所有用户
  2. B站视频下载
  3. B站弹幕和评论分析
  4. 虎牙和斗鱼直播视频和弹幕实时获取
  5. 网易云评论获取和分析
  6. 招聘网站全站爬虫和分析
  7. CSDN关注所有与Python有关的博主

第三个就有点意思了,弹幕和评论是可以知道是谁发的,那么当你有了B站所有弹幕和评论的时候,你就可以从一个人发的弹幕和评论分析这个人的性格特点,不过想要所有数据,这几乎是不可能的,一天几十块的优质代理我可买不起。

第四个的话主要是没时间去看,只能下下来空闲的时候看,弹幕的获取主要是为了分析主播目前的状态,比如马老师变捞(老)了)、骚男是不是又和小姐姐聊骚了、神超的不当人教学等。
上面这些内容应该都会在近期发布出来,目前只踩点了一部分,而且也没有实现。

今天我们来抓取B站所有用户信息,包括( ‘mid’: 用户ID, ‘name’: 用户昵称, ‘sex’:性别, ‘sign’: 简介, ‘level’: 等级, ‘birthday’: 生日, ‘coins’:硬币数,‘following’:关注数, ‘follower’: 粉丝数,“archive”:视频总播放量,“article”:这个好像是文章阅读量)。

其实想获取单个用户的这些信息很简单,只需要对网站抓一下包就能知道数据来源了(谷歌浏览器按F12,然后一条一条请求看返回的数据,或者先看请求的链接筛选)。分析了过B站之后(不只是B站用户),发现B站对于爬虫是比较友好的,并没有什么加密机制,大部分数据都是以api接口返回json格式的数据。甚至反爬也仅仅是验证UA头和IP频率限制。所以要想得到大量数据,只需要代理好就行了。

不过,当爬虫的数据量到达一定量级的时候,效率就显得极为重要了,粗略估计B站用户有4亿多,其中两亿多是僵尸用户,没有任何有价值的信息,但爬取的时候并不能直接区分。也就是说想要获取B站所有的用户,需要发出3*4亿个http请求(为什么是3呢,因为抓取的信息分布在3个api里)。这种量级的数据用requests是难以达到的。使用scrapy有点大材小用了,于是我选择了asyncio+aiohttp,这是一个神器,效率是真的高,但出错也多(多看官方文档和百度就行)。

代码:https://github.com/kanadeblisst/aioBUser

如果不是商用,优质代理的价格实在是有点高。作为学生党只能买一些测试级代理,这样一天也就拿不到多少数据了。另外,关于代理的利用率,我想到的是先创建两个Redis数据库集合,一个放所有提取的代理,一个放有效的代理,每次检查从接口返回的代理是否在数据库中,不在则验证其有效性,然后将有用的存入数据库。这样爬虫程序只需要从有效代理池中随机取出代理。如果爬虫出现异常或者非200状态码,就将代理从数据库中移除。不过就算这样,爬虫的效率还是太低了,主要是因为代理的可用率太低(云代理太坑了,建议后来者不要踩坑),有效的代理每次都只有一百多个,这样运行了五天才得到400多万的数据,照这个速度也就四百多天就完成了。

目前数据比较分散,要一段时间后才能公布数据(也就400天吧)。如果想要目前的数据,请留言邮箱或者发邮件到kanade@blisst.cn。有性价比高的代理商希望能推荐一下,十分感谢。

原文博客:https://blog.csdn.net/Qwertyuiop2016/
现在这个是小号,给爬虫用的

欢迎关注我的微信公众号,分享我的学习经验和一些觉得不错的资源。如果有问题的话,也可以在微信公众号联系我。

抓取B站所有用户信息相关推荐

  1. python抓取视频违法吗,科学网—【python爬虫】抓取B站视频相关信息(一) - 管金昱的博文...

    昨天我在B站上写了这么一篇文章,但是被他们锁住了.无奈之下我复制到知乎上先保存起来 在这篇名为<三天学会用python进行简单地爬取B站网页视频数据>文章中我主要提到了两点在已知aid的情 ...

  2. 20個網頁抓取工具快速抓取網站

    網絡爬行(也稱為網絡抓取,屏幕抓取)已廣泛應用於當今的許多領域. 在網絡爬蟲工具進入公眾之前,對於沒有編程技能的普通人來說,這是一個神奇的詞. 它的高門檻阻礙了大數據門外的人們. 網絡抓取工具是自動爬 ...

  3. 一个价值一千五的外包项目!抓取大众点评的店铺信息!

    前言 今天在群里有人派外包的其中一个是抓取大众点评的店铺信息,价格一千五,三天内完成!很多刚学编程的小伙伴,应该觉得这个一千五也太容易拿了,相对于大众点评这个网站,其实不是像爬小说,爬表情包那样容易的 ...

  4. 搜狗抓取雅虎邮箱的个人信息

    搜狗抓取雅虎邮箱的个人信息 2月25日消息,据网友向网易科技透露,他在使用搜狗搜索引擎时,无意中发现其雅虎邮箱的个人注册信息可在搜狗的搜索结果中找到.后来该网友发现,被泄露个人信息的不止他一个,按照s ...

  5. Python 抓取微信公众号账号信息

    搜狗微信搜索提供两种类型的关键词搜索,一种是搜索公众号文章内容,另一种是直接搜索微信公众号.通过微信公众号搜索可以获取公众号的基本信息及最近发布的10条文章,今天来抓取一下微信公众号的账号信息 爬虫 ...

  6. python简答题及答案查询公众号和软件_Python 抓取微信公众号账号信息的方法

    搜狗微信搜索提供两种类型的关键词搜索,一种是搜索公众号文章内容,另一种是直接搜索微信公众号.通过微信公众号搜索可以获取公众号的基本信息及最近发布的10条文章,今天来抓取一下微信公众号的账号信息 爬虫 ...

  7. 使用Scrapy框架,爬取b站番剧信息。

    使用Scrapy框架,爬取b站番剧信息. 感觉好久没写爬虫的,今天看了在b站浏览了一会儿,发现b站有很多东西可以爬取的,比如首页的排行榜,番剧感觉很容易找到数据来源的,所以就拿主页的番剧来练练手的. ...

  8. python爬取boss直聘招聘信息_Python爬虫实战-抓取boss直聘招聘信息

    Python Python开发 Python语言 Python爬虫实战-抓取boss直聘招聘信息 实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Pyth ...

  9. Python爬虫抓取B站热榜

    Python爬虫抓取B站热榜 环境 Python 3.7.4 bs4==0.0.1 pandas==1.0.1 urllib3==1.24.2 re 实现代码 # -*- coding:utf-8 - ...

最新文章

  1. 同时支持三个mysql+sqlite+pdo的php数据库类_同时支持三个MySQL+SQLite+PDO的PHP数据库类...
  2. 分享:手机应用存5个严重的信息安全隐患你晓得吗?
  3. 【待继续研究】解析机器学习技术在反欺诈领域的应用
  4. 【模糊数学】模糊逻辑,隶属度,模糊逻辑应用,模糊推理过程
  5. 写 Python 时的 5 个坏习惯
  6. delphi 企业微信消息机器人_企业微信—群聊机器人
  7. might和could的区别用法_might 与 could区别,谢谢,may和might的区别及用法
  8. java 图形 登录_Java图形界面——登录框
  9. Java程序性能优化——性能指标
  10. 2020-05-15-用于深度学习训练的分布式多租户GPU集群分析
  11. 基于pymupdf的PDF与图片互转
  12. 哈哈哈哈,IT总监VS美发总监
  13. html 更改元素坐标,利用JS修改元素的位置属性,为什么style.left可行而style.top失效?...
  14. JAVA联机版五子棋——源码(一个类一个main暴力开发)
  15. 雷电3接口能干嘛_把雷电3插到TypeC接口了?不认识电脑接口的小伙伴看过来
  16. ubuntu 开机黑屏解决办法
  17. 计算机pc at代表什么意思啊,PC/XT 与PC/AT的分别?
  18. 异步fifo_正点原子开拓者FPGA开发板资料连载第十五章 IP核之FIFO实验
  19. MySQL适合运行在Docker中吗?
  20. Dialog的详细使用

热门文章

  1. 数据驱动安全架构升级---“花瓶”模型迎来V5.0(一)
  2. php自动收货,如何在PHP中实现一个订单自动确认收货的redis队列
  3. 基于自适应图学习的不完整多视图谱聚类
  4. 【设计模式七之策略模式】你有你的张良计,我有我的过墙梯
  5. windows10+ubuntu16.04双系统安装教程--UEFI安装方法
  6. 2019—2020年记账本APP
  7. O(logn)在两个有序数组找第k小的数
  8. aspose.cad使用工具类,及遇到的问题
  9. 华三路由交换配置命令_H3C交换机、路由器常用配置命令大全
  10. 用python做一张图片_用Python实现将一张图片分成9宫格的示例