当前位置:首页 > 编程学习资源 >

bilibili视频爬虫python

大小:3 KB已被797人关注

bilibili视频爬虫python是一个不错的学习资源,大小为3 KB,由党乐圣 提供,python爬虫类资源中评分为7.6。

Tags:python爬虫 bilibili视频 

心得笔记

给大家精选了网上关于《bilibili视频爬虫python》的学习笔记心得及相关实例内容,值得大家学习参考。

使用python爬取B站千万级数据

Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句。

Python支持命令式程序设计、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。

使用python爬取B站千万级数据

粉丝独白

说起热门的B站相信很多喜欢玩动漫的,看最有创意的Up主的同学一定非常熟悉。我突发奇想学Python这么久了,为啥不用Python爬取B站中我关注的人,已经关注的人他们关注的人,看看全站里面热门的UP主都是是哪些。

要点:

- 爬取10万用户数据

- 数据存储

- 数据词云分析

1.准备阶段

写代码前先构思思路:既然我要爬取用户关注的用户,那我需要存储用户之间的关系,确定谁是主用户,谁是follower。

存储关系使用数据库最方便,也有利于后期的数据分析,我选择sqlite数据库,因为Python自带sqlite,sqlite在Python中使用起来也非常方便。

数据库中需要2个表,一个表存储用户的相互关注信息,另一个表存储用户的基本信息,在B站的用户体系中,一个用户的mid号是唯一的。

然后我还需要一个列表来存储所以已经爬取的用户,防止重复爬取,毕竟用户之间相互关注的现象也是存在的,列表中存用户的mid号就可以了。

2.新建数据库

先写建数据库的代码,数据库中放一个用户表,一个关系表:

使用python爬取B站千万级数据

3.爬取前5页的用户数据

我需要找到B站用户的关注列表的json接口,很快就找到了,地址是:

https://api.bilibili.com/x/relation/followings?vmid=2&pn=1&ps=20&order=desc&jsonp=jsonp&callback=__jp7

其中vimd=后的参数就是用户的mid号

pn=1指用户的关注的第一面用户,一面显示20个用户

因为B站的隐私设置,一个人只能爬取其他人的前5页关注,共100人。

使用python爬取B站千万级数据

整个爬取页面的思路比较简单,首先设置header,用requests库进行API请求,获得关注的用户数据列表。

我们爬取前5页,每一页的数据进行简单的处理,然后转为字典数据进行获取mid,uname,sign3个维度的数据,最后save()函数存入db.

使用python爬取B站千万级数据

4.存入数据库

我们数据集里面一共有2个表,一个用户列表,用来存储所以的用户信息,一个是用户之间的关注信息。

使用python爬取B站千万级数据

5.探秘是热门UP主

打算利用已经爬取到本地的数据进行词云的生成,来看一下这10万用户中共同的关注的哪些UP主出现的次数最多。

代码的思路主要是从数据库中获取用户的名字,重复的次数越多说明越多的用户关注,然后我使用fate的一张图片作为词云的mask图片,最后生成词云图片。

使用python爬取B站千万级数据

最后一起来看一下词云图

使用python爬取B站千万级数据

可以看出蕾丝,暴走漫画,木鱼水心,参透之C君,papi酱等B站大UP主都是热门关注。

使用python爬取B站千万级数据

Python可以做什么?

web开发和 爬虫是比较适合 零基础的

自动化运维 运维开发 和 自动化测试 是适合 已经在做运维和测试的人员

大数据 数据分析 这方面 是很需要专业的 专业性相对而言比较强

科学计算 一般都是科研人员 在用

机器学习 和 人工智能 首先 学历 要求高 其次 高数要求高 难度很大

展开 +

收起 -

相关资源

Selenium模拟浏览器万能爬虫指南(python篇)
Selenium模拟浏览器万能爬虫指南(python篇) 超清版

1. 什么是Selenium Selenium 是一套完整的 Web 应用程序测试系统,它包含了测试的录制、编 写及运行和测试的并行处理。支持的浏览器包括 IE (7, 8, 9, 10, 11),Mozilla Firefox, Safari,Google Chrome,Opera 等。完全有 JavaScript 编写,因此可以运行于任 何支持 JavaScript 的浏览器上。 2 2. S S elenium 爬虫优劣势分析 2.1 优势 不需要做复杂的抓包、构造请求、解析数据等,开发难度相对要低

立即下载
Python3爬虫、数据清洗与可视化实战
Python3爬虫、数据清洗与可视化实战 含源码版

这是一套通过实战教初学者学习采集数据、清洗和组织数据进行分析及可视化的Python读物。以Python爬虫技术应用实战为主,适合Python 初学者及高等院校的相关专业学生

立即下载
用Python写网络爬虫
用Python写网络爬虫 扫描完整版

做为这种方便快捷地搜集在网上信息内容并从这当中提取出能用信息内容的方法,网络爬虫技术性变得更加有效。应用Python那样的简易计算机语言,你能应用小量程序编写专业技能就能够抓取

立即下载
Python网络爬虫实战
Python网络爬虫实战 高清第2版

这书从Python3.6.4的安裝刚开始,详尽解读了Python从简易程序流程拓宽到Python爬虫技术的过程。这书从实战演练来看,依据不一样的要求选择不一样的网络爬虫,有目的性地解读了几类Python爬虫技

立即下载
精通Python网络爬虫
精通Python网络爬虫 高清版

精通Python网络爬虫 这是一本实战性的网络爬虫秘笈,不仅讲解了如何编写爬虫,而且还讲解了流行的网络爬虫的使用。 全书分为4个部分:第壹部分对网络爬虫做了概要性的介绍,主要介绍了

立即下载
Python网络爬虫实战
Python网络爬虫实战 高清版

本书从Python的安装开始,详细讲解了Python从简单程序延伸到Python网络爬虫的全过程。本书从实战出发,根据不同的需求选取不同的爬虫,有针对性地讲解了几种Python网络爬虫。本书共8章,涵盖

立即下载
Python爬虫开发 从入门到实战
Python爬虫开发 从入门到实战 完整源码版

1.应用场景Python3.X解读,从新手入门到实战演练,全方位解读Python网络爬虫。 2.全书重难点附送微课解读,书网结合互动学习。 3.实例丰富多彩,高度重视实践活动,主要塑造用户的具体应用工

立即下载
下载地址:百度网盘下载
网友留言
19小时34分钟前回答

python爬虫URL重试机制的实现方法(python2.7以及python3.5)

应用场景: 状态不是200的URL重试多次 代码比较简单还有部分注释 python2.7实现: # -*-coding:utf-8-*-"""ayou""" import requests def url_retry(url,num_retries=3): print("access!") try: request = requests.get(url,timeout=60) #raise_for_status(),如果不是200会抛出HTTPError错误 request.raise_for_status() html = request.content except requests.HTTPError as e: html=None if num_retries0: #如果不是200就重试,每次递减重试次数 return url_retry(url,num_retries-1) #如果url不存在会抛出ConnectionError错误,这个情况不做重试 except requests.exceptions.ConnectionError as e: return return html url_retry("http://httpbin.org/status/404") python3.5实现: # -*-coding:utf-8-*-"""ayou"""import asyncioimport aiohttp async def print_page(url,num……

111小时1分钟前回答

Python爬虫获取图片并下载保存至本地

这篇文章主要介绍了关于Python爬虫获取图片并下载保存至本地,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 1、抓取煎蛋网上的图片。 2、代码如下: import urllib.requestimport os#to open the urldef url_open(url): req=urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0') response=urllib.request.urlopen(url) html=response.read() return html#to get the num of page like 1,2,3,4...def get_page(url): html=url_open(url).decode('utf-8') a=html.find('current-comment-page')+23 #add the 23 offset th arrive at the [2356] b=html.find(']',a) #print(html[a:b]) return html[a:b]#find the url of imgs and return the url of arrdef find_imgs(url): html=u……

码小辫

隆理群 提供上传

资源
19
粉丝
18
喜欢
113
评论
16

Copyright 2018-2021 www.xz577.com 码农之家

版权投诉 / 书籍推广 / 赞助:520161757@qq.com